Files
secondo/Tools/Parser/SecParser.tab.cpp
2026-01-23 17:03:45 +08:00

45840 lines
2.4 MiB

/* A Bison parser, made by GNU Bison 3.8.2. */
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
/* All symbols defined below should begin with yy or YY, to avoid
infringing on user name space. This should be done even for local
variables, as they might otherwise be expanded by user macros.
There are some unavoidable exceptions within include files to
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
/* Identify Bison output, and Bison version. */
#define YYBISON 30802
/* Bison version string. */
#define YYBISON_VERSION "3.8.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 0
/* Push parsers. */
#define YYPUSH 0
/* Pull parsers. */
#define YYPULL 1
/* Substitute the variable and function names. */
#define yyparse xxparse
#define yylex xxlex
#define yyerror xxerror
#define yydebug xxdebug
#define yynerrs xxnerrs
#define yylval xxlval
#define yychar xxchar
#define yylloc xxlloc
/* First part of user prologue. */
#line 30 "SecParser.y"
#include <cstdio>
#include <string>
#include <string.h>
#include <stack>
#include <utility>
#include "NestedText.h"
#define YYERROR_VERBOSE
#define YYDEBUG 1
bool USE_AUTO_BUFFER = false;
extern int yylex();
string* yacc_outtext;
typedef char cstring[50];
cstring paramname; // temporarly variable
#define maxparams 10
cstring params[maxparams];
int paramno;
stack<pair<int,string> > paramstack;
extern void yyerror( const char* s );
void cleanVariables(int max){
if(maxparams<max) max = maxparams;
for(int i=0;i<max;i++){
strcpy(params[i],"");
}
}
void emptystack(){
while(!paramstack.empty())
paramstack.pop();
cleanVariables(maxparams);
}
void restoreVariables(){
stack<pair<int,string> > tmpstack;
while(!paramstack.empty()){
pair<int,string> t = paramstack.top();
tmpstack.push(t);
paramstack.pop();
}
while(!tmpstack.empty()){
pair<int,string> t = tmpstack.top();
paramstack.push(t);
tmpstack.pop();
strcpy(params[t.first], t.second.c_str());
}
}
void PRINTF (const char *s)
{
(*yacc_outtext).append( s );
}
void PRINT (int i)
{
string temp;
NestedText::CopyOut( i, temp );
*yacc_outtext += temp;
}
void CLEAR(){
*yacc_outtext="";
}
#line 162 "SecParser.tab.cpp"
# ifndef YY_CAST
# ifdef __cplusplus
# define YY_CAST(Type, Val) static_cast<Type> (Val)
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
# else
# define YY_CAST(Type, Val) ((Type) (Val))
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
# endif
# endif
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
# define YY_NULLPTR nullptr
# else
# define YY_NULLPTR 0
# endif
# else
# define YY_NULLPTR ((void*)0)
# endif
# endif
#include "SecParser.tab.hpp"
/* Symbol kind. */
enum yysymbol_kind_t
{
YYSYMBOL_YYEMPTY = -2,
YYSYMBOL_YYEOF = 0, /* "end of file" */
YYSYMBOL_YYerror = 1, /* error */
YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
YYSYMBOL_ZZATTRABBR = 3, /* ZZATTRABBR */
YYSYMBOL_ZZATTRABBR2 = 4, /* ZZATTRABBR2 */
YYSYMBOL_ZZIDENTIFIER = 5, /* ZZIDENTIFIER */
YYSYMBOL_ZZFUN = 6, /* ZZFUN */
YYSYMBOL_ZZINTEGER = 7, /* ZZINTEGER */
YYSYMBOL_ZZREAL = 8, /* ZZREAL */
YYSYMBOL_ZZSTRING = 9, /* ZZSTRING */
YYSYMBOL_ZZBOOLEAN = 10, /* ZZBOOLEAN */
YYSYMBOL_ZZCONST = 11, /* ZZCONST */
YYSYMBOL_ZZTUPLE = 12, /* ZZTUPLE */
YYSYMBOL_ZZGROUP = 13, /* ZZGROUP */
YYSYMBOL_ZZTYPE = 14, /* ZZTYPE */
YYSYMBOL_ZZDELETE = 15, /* ZZDELETE */
YYSYMBOL_ZZCREATE = 16, /* ZZCREATE */
YYSYMBOL_ZZUPDATE = 17, /* ZZUPDATE */
YYSYMBOL_ZZKILL = 18, /* ZZKILL */
YYSYMBOL_ZZQUERY = 19, /* ZZQUERY */
YYSYMBOL_ZZQUERYNT = 20, /* ZZQUERYNT */
YYSYMBOL_ZZPQUERY = 21, /* ZZPQUERY */
YYSYMBOL_ZZPCOMPILE = 22, /* ZZPCOMPILE */
YYSYMBOL_ZZLET = 23, /* ZZLET */
YYSYMBOL_ZZDERIVE = 24, /* ZZDERIVE */
YYSYMBOL_ZZPERSISTENT = 25, /* ZZPERSISTENT */
YYSYMBOL_ZZBEGIN1 = 26, /* ZZBEGIN1 */
YYSYMBOL_ZZTRANSACTION = 27, /* ZZTRANSACTION */
YYSYMBOL_ZZCOMMIT = 28, /* ZZCOMMIT */
YYSYMBOL_ZZABORT = 29, /* ZZABORT */
YYSYMBOL_ZZDATABASE = 30, /* ZZDATABASE */
YYSYMBOL_ZZOPEN = 31, /* ZZOPEN */
YYSYMBOL_ZZCLOSE = 32, /* ZZCLOSE */
YYSYMBOL_ZZSAVE = 33, /* ZZSAVE */
YYSYMBOL_ZZTO = 34, /* ZZTO */
YYSYMBOL_ZZRESTORE = 35, /* ZZRESTORE */
YYSYMBOL_ZZFROM = 36, /* ZZFROM */
YYSYMBOL_ZZLIST = 37, /* ZZLIST */
YYSYMBOL_ZZDATABASES = 38, /* ZZDATABASES */
YYSYMBOL_ZZCONSTRUCTORS = 39, /* ZZCONSTRUCTORS */
YYSYMBOL_ZZOPERATORS = 40, /* ZZOPERATORS */
YYSYMBOL_ZZTYPES = 41, /* ZZTYPES */
YYSYMBOL_ZZOBJECTS = 42, /* ZZOBJECTS */
YYSYMBOL_ZZASSIGN = 43, /* ZZASSIGN */
YYSYMBOL_ZZDOUBLE = 44, /* ZZDOUBLE */
YYSYMBOL_ZZVALUE = 45, /* ZZVALUE */
YYSYMBOL_ZZPOINTER = 46, /* ZZPOINTER */
YYSYMBOL_ZZCOUNTERS = 47, /* ZZCOUNTERS */
YYSYMBOL_ZZALGEBRAS = 48, /* ZZALGEBRAS */
YYSYMBOL_ZZALGEBRA = 49, /* ZZALGEBRA */
YYSYMBOL_ZZTEXT = 50, /* ZZTEXT */
YYSYMBOL_ZZFILE = 51, /* ZZFILE */
YYSYMBOL_ZZINFIXOP = 52, /* ZZINFIXOP */
YYSYMBOL_ZZPREFIXOP = 53, /* ZZPREFIXOP */
YYSYMBOL_ZZINFIXOP_BUF = 54, /* ZZINFIXOP_BUF */
YYSYMBOL_ZZPREFIXOP_BUF = 55, /* ZZPREFIXOP_BUF */
YYSYMBOL_ZZIF = 56, /* ZZIF */
YYSYMBOL_ZZTHEN = 57, /* ZZTHEN */
YYSYMBOL_ZZELSE = 58, /* ZZELSE */
YYSYMBOL_ZZENDIF = 59, /* ZZENDIF */
YYSYMBOL_ZZWHILE = 60, /* ZZWHILE */
YYSYMBOL_ZZDO = 61, /* ZZDO */
YYSYMBOL_ZZENDWHILE = 62, /* ZZENDWHILE */
YYSYMBOL_ZZNAMING = 63, /* ZZNAMING */
YYSYMBOL_ZZMEMORY = 64, /* ZZMEMORY */
YYSYMBOL_ZZDEFAULTSEP = 65, /* ZZDEFAULTSEP */
YYSYMBOL_OPENDOUBLEBRACE = 66, /* OPENDOUBLEBRACE */
YYSYMBOL_CLOSEDOUBLEBRACE = 67, /* CLOSEDOUBLEBRACE */
YYSYMBOL_ZZSINGLE = 68, /* ZZSINGLE */
YYSYMBOL_ZZARG3 = 69, /* ZZARG3 */
YYSYMBOL_ZZARG4 = 70, /* ZZARG4 */
YYSYMBOL_ZZARG5 = 71, /* ZZARG5 */
YYSYMBOL_ZZARG6 = 72, /* ZZARG6 */
YYSYMBOL_ZZARG7 = 73, /* ZZARG7 */
YYSYMBOL_ZZARG8 = 74, /* ZZARG8 */
YYSYMBOL_ZZARG9 = 75, /* ZZARG9 */
YYSYMBOL_ZZATTRABBR3 = 76, /* ZZATTRABBR3 */
YYSYMBOL_ZZATTRABBR4 = 77, /* ZZATTRABBR4 */
YYSYMBOL_ZZATTRABBR5 = 78, /* ZZATTRABBR5 */
YYSYMBOL_ZZATTRABBR6 = 79, /* ZZATTRABBR6 */
YYSYMBOL_ZZATTRABBR7 = 80, /* ZZATTRABBR7 */
YYSYMBOL_ZZATTRABBR8 = 81, /* ZZATTRABBR8 */
YYSYMBOL_ZZATTRABBR9 = 82, /* ZZATTRABBR9 */
YYSYMBOL_ZZCHANGENAME = 83, /* ZZCHANGENAME */
YYSYMBOL_ZZTYPEOF = 84, /* ZZTYPEOF */
YYSYMBOL_ZZPOSTFIXOP1 = 85, /* ZZPOSTFIXOP1 */
YYSYMBOL_ZZPOSTFIXOP1_a = 86, /* ZZPOSTFIXOP1_a */
YYSYMBOL_ZZPOSTFIXOP2_a = 87, /* ZZPOSTFIXOP2_a */
YYSYMBOL_ZZNEST = 88, /* ZZNEST */
YYSYMBOL_ZZPOSTFIXOP2 = 89, /* ZZPOSTFIXOP2 */
YYSYMBOL_ZZSORTBY = 90, /* ZZSORTBY */
YYSYMBOL_ZZSORTBYPARAM = 91, /* ZZSORTBYPARAM */
YYSYMBOL_ZZSORTBYH = 92, /* ZZSORTBYH */
YYSYMBOL_ZZGDIJKSTRA = 93, /* ZZGDIJKSTRA */
YYSYMBOL_ZZMINPATHCOST2 = 94, /* ZZMINPATHCOST2 */
YYSYMBOL_ZZGBIDIJKSTRA = 95, /* ZZGBIDIJKSTRA */
YYSYMBOL_ZZMTMINPATHCOSTS2 = 96, /* ZZMTMINPATHCOSTS2 */
YYSYMBOL_ZZD_SEND_SHUFFLE = 97, /* ZZD_SEND_SHUFFLE */
YYSYMBOL_ZZDSHUFFLE = 98, /* ZZDSHUFFLE */
YYSYMBOL_ZZDSHUFFLE2 = 99, /* ZZDSHUFFLE2 */
YYSYMBOL_ZZDSHUFFLE1 = 100, /* ZZDSHUFFLE1 */
YYSYMBOL_ZZDLOOP_OLD = 101, /* ZZDLOOP_OLD */
YYSYMBOL_ZZDLOOPA_OLD = 102, /* ZZDLOOPA_OLD */
YYSYMBOL_ZZDTIE = 103, /* ZZDTIE */
YYSYMBOL_ZZPARTITIONDMAP = 104, /* ZZPARTITIONDMAP */
YYSYMBOL_ZZDMAPPDMAP = 105, /* ZZDMAPPDMAP */
YYSYMBOL_ZZFDISTRIBUTE2TES = 106, /* ZZFDISTRIBUTE2TES */
YYSYMBOL_ZZDISTRIBUTE2TES = 107, /* ZZDISTRIBUTE2TES */
YYSYMBOL_ZZCOLLECTPC2 = 108, /* ZZCOLLECTPC2 */
YYSYMBOL_ZZOPTICSR = 109, /* ZZOPTICSR */
YYSYMBOL_ZZOPTICSM = 110, /* ZZOPTICSM */
YYSYMBOL_ZZOPTICSF = 111, /* ZZOPTICSF */
YYSYMBOL_ZZOPTICSTF = 112, /* ZZOPTICSTF */
YYSYMBOL_ZZFILTERV = 113, /* ZZFILTERV */
YYSYMBOL_ZZFILTERNP = 114, /* ZZFILTERNP */
YYSYMBOL_ZZEXTENDV = 115, /* ZZEXTENDV */
YYSYMBOL_ZZPROJECTEXTENDV = 116, /* ZZPROJECTEXTENDV */
YYSYMBOL_ZZEXTENDNP = 117, /* ZZEXTENDNP */
YYSYMBOL_ZZPROJECTEXTENDNP = 118, /* ZZPROJECTEXTENDNP */
YYSYMBOL_ZZDBDACSCAN = 119, /* ZZDBDACSCAN */
YYSYMBOL_ZZDISTSAMP = 120, /* ZZDISTSAMP */
YYSYMBOL_ZZAPPLYPREDICATE = 121, /* ZZAPPLYPREDICATE */
YYSYMBOL_ZZFEEDPROJECT = 122, /* ZZFEEDPROJECT */
YYSYMBOL_ZZFILTER = 123, /* ZZFILTER */
YYSYMBOL_ZZCFILTER = 124, /* ZZCFILTER */
YYSYMBOL_ZZCAND = 125, /* ZZCAND */
YYSYMBOL_ZZCOR = 126, /* ZZCOR */
YYSYMBOL_ZZWITHIN = 127, /* ZZWITHIN */
YYSYMBOL_ZZWITHIN2 = 128, /* ZZWITHIN2 */
YYSYMBOL_ZZWHILEDO = 129, /* ZZWHILEDO */
YYSYMBOL_ZZFUNSEQ1 = 130, /* ZZFUNSEQ1 */
YYSYMBOL_ZZFUNSEQ2 = 131, /* ZZFUNSEQ2 */
YYSYMBOL_ZZFUNSEQ3 = 132, /* ZZFUNSEQ3 */
YYSYMBOL_ZZFUNSEQ4 = 133, /* ZZFUNSEQ4 */
YYSYMBOL_ZZFUNSEQ5 = 134, /* ZZFUNSEQ5 */
YYSYMBOL_ZZFUNSEQ6 = 135, /* ZZFUNSEQ6 */
YYSYMBOL_ZZDDISTRIBUTE4 = 136, /* ZZDDISTRIBUTE4 */
YYSYMBOL_ZZFDISTRIBUTE7 = 137, /* ZZFDISTRIBUTE7 */
YYSYMBOL_ZZDLOOP = 138, /* ZZDLOOP */
YYSYMBOL_ZZDLOOP2 = 139, /* ZZDLOOP2 */
YYSYMBOL_ZZDMAP = 140, /* ZZDMAP */
YYSYMBOL_ZZPDMAP = 141, /* ZZPDMAP */
YYSYMBOL_ZZDMAP2n = 142, /* ZZDMAP2n */
YYSYMBOL_ZZDMAP2 = 143, /* ZZDMAP2 */
YYSYMBOL_ZZDMAP3 = 144, /* ZZDMAP3 */
YYSYMBOL_ZZDMAP4 = 145, /* ZZDMAP4 */
YYSYMBOL_ZZDMAP5 = 146, /* ZZDMAP5 */
YYSYMBOL_ZZDMAP6 = 147, /* ZZDMAP6 */
YYSYMBOL_ZZDMAP7 = 148, /* ZZDMAP7 */
YYSYMBOL_ZZDMAP8 = 149, /* ZZDMAP8 */
YYSYMBOL_ZZPDMAP2 = 150, /* ZZPDMAP2 */
YYSYMBOL_ZZPDMAP3 = 151, /* ZZPDMAP3 */
YYSYMBOL_ZZPDMAP4 = 152, /* ZZPDMAP4 */
YYSYMBOL_ZZPDMAP5 = 153, /* ZZPDMAP5 */
YYSYMBOL_ZZPDMAP6 = 154, /* ZZPDMAP6 */
YYSYMBOL_ZZPDMAP7 = 155, /* ZZPDMAP7 */
YYSYMBOL_ZZPDMAP8 = 156, /* ZZPDMAP8 */
YYSYMBOL_ZZDFDISTRIBUTE4 = 157, /* ZZDFDISTRIBUTE4 */
YYSYMBOL_ZZPARTITION = 158, /* ZZPARTITION */
YYSYMBOL_ZZPARTITIONF = 159, /* ZZPARTITIONF */
YYSYMBOL_ZZAREDUCE = 160, /* ZZAREDUCE */
YYSYMBOL_ZZAREDUCE2 = 161, /* ZZAREDUCE2 */
YYSYMBOL_ZZAREDUCE2F = 162, /* ZZAREDUCE2F */
YYSYMBOL_ZZDPRODUCT = 163, /* ZZDPRODUCT */
YYSYMBOL_ZZDDISTRIBUTE = 164, /* ZZDDISTRIBUTE */
YYSYMBOL_ZZDFDISTRIBUTE = 165, /* ZZDFDISTRIBUTE */
YYSYMBOL_ZZPARTITION8LOCAL = 166, /* ZZPARTITION8LOCAL */
YYSYMBOL_ZZPARTITIONF8 = 167, /* ZZPARTITIONF8 */
YYSYMBOL_ZZLOOPJOINREL = 168, /* ZZLOOPJOINREL */
YYSYMBOL_ZZCONSTGRAPH = 169, /* ZZCONSTGRAPH */
YYSYMBOL_ZZCONSTGRAPHPOINTS = 170, /* ZZCONSTGRAPHPOINTS */
YYSYMBOL_ZZTRANSLATE = 171, /* ZZTRANSLATE */
YYSYMBOL_ZZPOSTFIXOP3_a = 172, /* ZZPOSTFIXOP3_a */
YYSYMBOL_ZZEXISTS = 173, /* ZZEXISTS */
YYSYMBOL_ZZFORALL = 174, /* ZZFORALL */
YYSYMBOL_ZZPOSTFIXOP3 = 175, /* ZZPOSTFIXOP3 */
YYSYMBOL_ZZPARAJOIN = 176, /* ZZPARAJOIN */
YYSYMBOL_ZZFCONSUME = 177, /* ZZFCONSUME */
YYSYMBOL_ZZFFEED = 178, /* ZZFFEED */
YYSYMBOL_ZZHADOOPJOIN = 179, /* ZZHADOOPJOIN */
YYSYMBOL_ZZFDISTRIBUTE = 180, /* ZZFDISTRIBUTE */
YYSYMBOL_ZZFFEED2 = 181, /* ZZFFEED2 */
YYSYMBOL_ZZFCONSUME3 = 182, /* ZZFCONSUME3 */
YYSYMBOL_ZZFFEED3 = 183, /* ZZFFEED3 */
YYSYMBOL_ZZFETCHFLOB = 184, /* ZZFETCHFLOB */
YYSYMBOL_ZZFDISTRIBUTE3 = 185, /* ZZFDISTRIBUTE3 */
YYSYMBOL_ZZMOCONSUME = 186, /* ZZMOCONSUME */
YYSYMBOL_ZZMOCONSUMEFLOB = 187, /* ZZMOCONSUMEFLOB */
YYSYMBOL_ZZMINSERTTUPLE = 188, /* ZZMINSERTTUPLE */
YYSYMBOL_ZZMINSERTTUPLESAVE = 189, /* ZZMINSERTTUPLESAVE */
YYSYMBOL_ZZMUPDATE = 190, /* ZZMUPDATE */
YYSYMBOL_ZZMUPDATESAVE = 191, /* ZZMUPDATESAVE */
YYSYMBOL_ZZMUPDATEBYID = 192, /* ZZMUPDATEBYID */
YYSYMBOL_ZZMUPDATEDIRECT2 = 193, /* ZZMUPDATEDIRECT2 */
YYSYMBOL_ZZMORANGE = 194, /* ZZMORANGE */
YYSYMBOL_ZZMOLEFTRANGE = 195, /* ZZMOLEFTRANGE */
YYSYMBOL_ZZMORIGHTRANGE = 196, /* ZZMORIGHTRANGE */
YYSYMBOL_ZZMOSHORTESTPATHD = 197, /* ZZMOSHORTESTPATHD */
YYSYMBOL_ZZMOSHORTESTPATHA = 198, /* ZZMOSHORTESTPATHA */
YYSYMBOL_ZZMQUICKSORTBY = 199, /* ZZMQUICKSORTBY */
YYSYMBOL_ZZMGSHORTESTPATHD = 200, /* ZZMGSHORTESTPATHD */
YYSYMBOL_ZZMGSHORTESTPATHA = 201, /* ZZMGSHORTESTPATHA */
YYSYMBOL_ZZMINSERTTUPLEPQPROJECTU = 202, /* ZZMINSERTTUPLEPQPROJECTU */
YYSYMBOL_ZZMINSERTTUPLEPQPROJECT = 203, /* ZZMINSERTTUPLEPQPROJECT */
YYSYMBOL_ZZMPQREORDER = 204, /* ZZMPQREORDER */
YYSYMBOL_ZZMPQREORDERUPDATE = 205, /* ZZMPQREORDERUPDATE */
YYSYMBOL_ZZCREATEMGRAPH2 = 206, /* ZZCREATEMGRAPH2 */
YYSYMBOL_ZZCREATEMGRAPH2FLOB = 207, /* ZZCREATEMGRAPH2FLOB */
YYSYMBOL_ZZMG2INSERTORIG = 208, /* ZZMG2INSERTORIG */
YYSYMBOL_ZZMEMGROUPBY = 209, /* ZZMEMGROUPBY */
YYSYMBOL_ZZMMERGEJOINPROJECT = 210, /* ZZMMERGEJOINPROJECT */
YYSYMBOL_ZZPUSE = 211, /* ZZPUSE */
YYSYMBOL_ZZPJOIN2 = 212, /* ZZPJOIN2 */
YYSYMBOL_ZZPJOIN1 = 213, /* ZZPJOIN1 */
YYSYMBOL_ZZEXTENDITEMNAMES = 214, /* ZZEXTENDITEMNAMES */
YYSYMBOL_ZZSORTARRAY = 215, /* ZZSORTARRAY */
YYSYMBOL_ZZTIE = 216, /* ZZTIE */
YYSYMBOL_ZZCUMULATE = 217, /* ZZCUMULATE */
YYSYMBOL_ZZLOOP = 218, /* ZZLOOP */
YYSYMBOL_ZZLOOPA = 219, /* ZZLOOPA */
YYSYMBOL_ZZLOOPB = 220, /* ZZLOOPB */
YYSYMBOL_ZZLOOPSWITCH = 221, /* ZZLOOPSWITCH */
YYSYMBOL_ZZLOOPSWITCHA = 222, /* ZZLOOPSWITCHA */
YYSYMBOL_ZZLOOPSWITCHB = 223, /* ZZLOOPSWITCHB */
YYSYMBOL_ZZLOOPSELECT = 224, /* ZZLOOPSELECT */
YYSYMBOL_ZZLOOPSELECTA = 225, /* ZZLOOPSELECTA */
YYSYMBOL_ZZLOOPSELECTB = 226, /* ZZLOOPSELECTB */
YYSYMBOL_ZZPARTJOIN = 227, /* ZZPARTJOIN */
YYSYMBOL_ZZPARTJOINSWITCH = 228, /* ZZPARTJOINSWITCH */
YYSYMBOL_ZZPARTJOINSELECT = 229, /* ZZPARTJOINSELECT */
YYSYMBOL_ZZEXTEND = 230, /* ZZEXTEND */
YYSYMBOL_ZZPARAJOIN2 = 231, /* ZZPARAJOIN2 */
YYSYMBOL_ZZDRELFILTER = 232, /* ZZDRELFILTER */
YYSYMBOL_ZZDRELEXTEND = 233, /* ZZDRELEXTEND */
YYSYMBOL_ZZDRELPROJECTEXTEND = 234, /* ZZDRELPROJECTEXTEND */
YYSYMBOL_ZZPROJECT = 235, /* ZZPROJECT */
YYSYMBOL_ZZLSORTBY = 236, /* ZZLSORTBY */
YYSYMBOL_ZZDRELLGROUPBY = 237, /* ZZDRELLGROUPBY */
YYSYMBOL_ZZDRELGROUPBY = 238, /* ZZDRELGROUPBY */
YYSYMBOL_ZZDRELINSERTTUPLE = 239, /* ZZDRELINSERTTUPLE */
YYSYMBOL_ZZDRELUPDATE = 240, /* ZZDRELUPDATE */
YYSYMBOL_ZZDRELUPDATEBYID = 241, /* ZZDRELUPDATEBYID */
YYSYMBOL_ZZDRELFILTERADDID = 242, /* ZZDRELFILTERADDID */
YYSYMBOL_ZZDRELFILTERDELETE = 243, /* ZZDRELFILTERDELETE */
YYSYMBOL_ZZDRELFILTERUPDATE = 244, /* ZZDRELFILTERUPDATE */
YYSYMBOL_ZZDBSCANR = 245, /* ZZDBSCANR */
YYSYMBOL_ZZDBSCANM = 246, /* ZZDBSCANM */
YYSYMBOL_ZZDBSCANF = 247, /* ZZDBSCANF */
YYSYMBOL_ZZDBSCANTF = 248, /* ZZDBSCANTF */
YYSYMBOL_ZZPFILTERS = 249, /* ZZPFILTERS */
YYSYMBOL_ZZPEXTEND = 250, /* ZZPEXTEND */
YYSYMBOL_ZZPEXTENDSTREAM = 251, /* ZZPEXTENDSTREAM */
YYSYMBOL_ZZPLOOPSEL = 252, /* ZZPLOOPSEL */
YYSYMBOL_ZZPLOOPJOIN = 253, /* ZZPLOOPJOIN */
YYSYMBOL_ZZPAGGREGATE = 254, /* ZZPAGGREGATE */
YYSYMBOL_ZZPAGGREGATEB = 255, /* ZZPAGGREGATEB */
YYSYMBOL_ZZPSORTBY = 256, /* ZZPSORTBY */
YYSYMBOL_ZZPOSTFIXOP4_a = 257, /* ZZPOSTFIXOP4_a */
YYSYMBOL_ZZPOSTFIXOP6_a = 258, /* ZZPOSTFIXOP6_a */
YYSYMBOL_ZZAGGREGATES = 259, /* ZZAGGREGATES */
YYSYMBOL_ZZUSE = 260, /* ZZUSE */
YYSYMBOL_ZZUSE2 = 261, /* ZZUSE2 */
YYSYMBOL_ZZTS = 262, /* ZZTS */
YYSYMBOL_ZZAS = 263, /* ZZAS */
YYSYMBOL_ZZstreamfun = 264, /* ZZstreamfun */
YYSYMBOL_ZZprog = 265, /* ZZprog */
YYSYMBOL_ZZSYNC = 266, /* ZZSYNC */
YYSYMBOL_ZZSideEffect = 267, /* ZZSideEffect */
YYSYMBOL_ZZTRANSLATE_GROOM = 268, /* ZZTRANSLATE_GROOM */
YYSYMBOL_ZZOLEFTRANGE = 269, /* ZZOLEFTRANGE */
YYSYMBOL_ZZORIGHTRANGE = 270, /* ZZORIGHTRANGE */
YYSYMBOL_ZZORANGE = 271, /* ZZORANGE */
YYSYMBOL_ZZOSHORTESTPATHD = 272, /* ZZOSHORTESTPATHD */
YYSYMBOL_ZZOSHORTESTPATHA = 273, /* ZZOSHORTESTPATHA */
YYSYMBOL_ZZREAD2 = 274, /* ZZREAD2 */
YYSYMBOL_ZZREAD3 = 275, /* ZZREAD3 */
YYSYMBOL_ZZRDERIVE = 276, /* ZZRDERIVE */
YYSYMBOL_ZZREAD3_1 = 277, /* ZZREAD3_1 */
YYSYMBOL_ZZREAD3_2 = 278, /* ZZREAD3_2 */
YYSYMBOL_ZZFILTERX = 279, /* ZZFILTERX */
YYSYMBOL_ZZINSERTTUPLE = 280, /* ZZINSERTTUPLE */
YYSYMBOL_ZZINSERTTUPLESAVE = 281, /* ZZINSERTTUPLESAVE */
YYSYMBOL_ZZUPDATESEARCH = 282, /* ZZUPDATESEARCH */
YYSYMBOL_ZZUPDATEDIRECT = 283, /* ZZUPDATEDIRECT */
YYSYMBOL_ZZUPDATEDIRECT2 = 284, /* ZZUPDATEDIRECT2 */
YYSYMBOL_ZZUPDATEBYID2 = 285, /* ZZUPDATEBYID2 */
YYSYMBOL_ZZUPDATESEARCHSAVE = 286, /* ZZUPDATESEARCHSAVE */
YYSYMBOL_ZZUPDATEDIRECTSAVE = 287, /* ZZUPDATEDIRECTSAVE */
YYSYMBOL_ZZUPDATEBYID = 288, /* ZZUPDATEBYID */
YYSYMBOL_ZZFILTERINSERT = 289, /* ZZFILTERINSERT */
YYSYMBOL_ZZCPROJECTEXTEND = 290, /* ZZCPROJECTEXTEND */
YYSYMBOL_ZZMAP = 291, /* ZZMAP */
YYSYMBOL_ZZMAP2 = 292, /* ZZMAP2 */
YYSYMBOL_ZZMATCHGRID = 293, /* ZZMATCHGRID */
YYSYMBOL_ZZREPLACEELEM = 294, /* ZZREPLACEELEM */
YYSYMBOL_ZZGROUPBY2 = 295, /* ZZGROUPBY2 */
YYSYMBOL_ZZSPREAD = 296, /* ZZSPREAD */
YYSYMBOL_ZZCOLLECT = 297, /* ZZCOLLECT */
YYSYMBOL_ZZHADOOPMAP = 298, /* ZZHADOOPMAP */
YYSYMBOL_ZZHADOOPREDUCE = 299, /* ZZHADOOPREDUCE */
YYSYMBOL_ZZHADOOPREDUCE2 = 300, /* ZZHADOOPREDUCE2 */
YYSYMBOL_ZZPFFEED = 301, /* ZZPFFEED */
YYSYMBOL_ZZPFFEED2 = 302, /* ZZPFFEED2 */
YYSYMBOL_ZZPFFEED3 = 303, /* ZZPFFEED3 */
YYSYMBOL_ZZHADOOPMAP2 = 304, /* ZZHADOOPMAP2 */
YYSYMBOL_ZZREPORTPATTERN = 305, /* ZZREPORTPATTERN */
YYSYMBOL_ZZGPATTERN = 306, /* ZZGPATTERN */
YYSYMBOL_ZZCROSSPATTERN = 307, /* ZZCROSSPATTERN */
YYSYMBOL_ZZMTHREADEDMERGESORT = 308, /* ZZMTHREADEDMERGESORT */
YYSYMBOL_ZZMTHREADEDFILTER = 309, /* ZZMTHREADEDFILTER */
YYSYMBOL_ZZCANCEL = 310, /* ZZCANCEL */
YYSYMBOL_ZZKRDUP = 311, /* ZZKRDUP */
YYSYMBOL_ZZPROJECTEXTEND = 312, /* ZZPROJECTEXTEND */
YYSYMBOL_ZZEXTENDSTREAM = 313, /* ZZEXTENDSTREAM */
YYSYMBOL_ZZPROJECTEXTENDSTREAM = 314, /* ZZPROJECTEXTENDSTREAM */
YYSYMBOL_ZZGROUPBY = 315, /* ZZGROUPBY */
YYSYMBOL_ZZSLIDINGWINDOW = 316, /* ZZSLIDINGWINDOW */
YYSYMBOL_ZZSORTBYOLD = 317, /* ZZSORTBYOLD */
YYSYMBOL_ZZPOSTFIXOP2_a_autobuffer = 318, /* ZZPOSTFIXOP2_a_autobuffer */
YYSYMBOL_ZZLOOPJOIN = 319, /* ZZLOOPJOIN */
YYSYMBOL_ZZLOOPSEL = 320, /* ZZLOOPSEL */
YYSYMBOL_ZZAGGREGATE = 321, /* ZZAGGREGATE */
YYSYMBOL_ZZAGGREGATEB = 322, /* ZZAGGREGATEB */
YYSYMBOL_ZZSYMMJOIN = 323, /* ZZSYMMJOIN */
YYSYMBOL_ZZSYMMOUTERJOIN = 324, /* ZZSYMMOUTERJOIN */
YYSYMBOL_ZZSYMMPRODUCTEXTEND = 325, /* ZZSYMMPRODUCTEXTEND */
YYSYMBOL_ZZKSMALLEST = 326, /* ZZKSMALLEST */
YYSYMBOL_ZZKBIGGEST = 327, /* ZZKBIGGEST */
YYSYMBOL_ZZEXTEND_AGGR = 328, /* ZZEXTEND_AGGR */
YYSYMBOL_ZZEXTEND_LAST = 329, /* ZZEXTEND_LAST */
YYSYMBOL_ZZEXTEND_NEXT = 330, /* ZZEXTEND_NEXT */
YYSYMBOL_ZZREPLACEATTR = 331, /* ZZREPLACEATTR */
YYSYMBOL_ZZPFILTER = 332, /* ZZPFILTER */
YYSYMBOL_ZZEXTENDX = 333, /* ZZEXTENDX */
YYSYMBOL_ZZOBOJOIND = 334, /* ZZOBOJOIND */
YYSYMBOL_ZZISORDEREDBY = 335, /* ZZISORDEREDBY */
YYSYMBOL_ZZADDMODCOUNTER = 336, /* ZZADDMODCOUNTER */
YYSYMBOL_ZZUSEHISTOGRAM = 337, /* ZZUSEHISTOGRAM */
YYSYMBOL_ZZUSEHISTOGRAM2 = 338, /* ZZUSEHISTOGRAM2 */
YYSYMBOL_ZZDMAPS = 339, /* ZZDMAPS */
YYSYMBOL_ZZDMAPS2 = 340, /* ZZDMAPS2 */
YYSYMBOL_ZZDMAPS3 = 341, /* ZZDMAPS3 */
YYSYMBOL_ZZDMAPS4 = 342, /* ZZDMAPS4 */
YYSYMBOL_ZZDMAPS5 = 343, /* ZZDMAPS5 */
YYSYMBOL_ZZDPRODUCTS = 344, /* ZZDPRODUCTS */
YYSYMBOL_ZZPARTITIONFS = 345, /* ZZPARTITIONFS */
YYSYMBOL_ZZDBSCAN = 346, /* ZZDBSCAN */
YYSYMBOL_ZZREGISTERFORSTREAM = 347, /* ZZREGISTERFORSTREAM */
YYSYMBOL_ZZNEST2 = 348, /* ZZNEST2 */
YYSYMBOL_ZZPREDCOUNTS = 349, /* ZZPREDCOUNTS */
YYSYMBOL_ZZSTPATTERN = 350, /* ZZSTPATTERN */
YYSYMBOL_ZZSTPATTERN2 = 351, /* ZZSTPATTERN2 */
YYSYMBOL_ZZSTPATTERNEX = 352, /* ZZSTPATTERNEX */
YYSYMBOL_ZZSTPATTERNEX2 = 353, /* ZZSTPATTERNEX2 */
YYSYMBOL_ZZSTPATTERNEXTEND = 354, /* ZZSTPATTERNEXTEND */
YYSYMBOL_ZZSTPATTERNEXTEND2 = 355, /* ZZSTPATTERNEXTEND2 */
YYSYMBOL_ZZSTPATTERNEXEXTEND = 356, /* ZZSTPATTERNEXEXTEND */
YYSYMBOL_ZZSTPATTERNEXEXTEND2 = 357, /* ZZSTPATTERNEXEXTEND2 */
YYSYMBOL_ZZSTPATTERNEXTENDSTREAM = 358, /* ZZSTPATTERNEXTENDSTREAM */
YYSYMBOL_ZZSTPATTERNEXTENDSTREAM2 = 359, /* ZZSTPATTERNEXTENDSTREAM2 */
YYSYMBOL_ZZSTPATTERNEXEXTENDSTREAM = 360, /* ZZSTPATTERNEXEXTENDSTREAM */
YYSYMBOL_ZZSTPATTERNEXEXTENDSTREAM2 = 361, /* ZZSTPATTERNEXEXTENDSTREAM2 */
YYSYMBOL_ZZCOMPUTECLOSURE = 362, /* ZZCOMPUTECLOSURE */
YYSYMBOL_ZZOCONSUME = 363, /* ZZOCONSUME */
YYSYMBOL_ZZREMOVE = 364, /* ZZREMOVE */
YYSYMBOL_ZZREDUCE = 365, /* ZZREDUCE */
YYSYMBOL_ZZRENAMEATTR = 366, /* ZZRENAMEATTR */
YYSYMBOL_ZZTSMOTIFBFFUN = 367, /* ZZTSMOTIFBFFUN */
YYSYMBOL_ZZTSDISTANCEFUN = 368, /* ZZTSDISTANCEFUN */
YYSYMBOL_369_ = 369, /* ';' */
YYSYMBOL_370_ = 370, /* '{' */
YYSYMBOL_371_ = 371, /* '}' */
YYSYMBOL_372_ = 372, /* '|' */
YYSYMBOL_373_ = 373, /* '(' */
YYSYMBOL_374_ = 374, /* ')' */
YYSYMBOL_375_ = 375, /* '[' */
YYSYMBOL_376_ = 376, /* ']' */
YYSYMBOL_377_ = 377, /* ',' */
YYSYMBOL_378_ = 378, /* '.' */
YYSYMBOL_YYACCEPT = 379, /* $accept */
YYSYMBOL_commands = 380, /* commands */
YYSYMBOL_command = 381, /* command */
YYSYMBOL_whilecommand = 382, /* whilecommand */
YYSYMBOL_commandblock = 383, /* commandblock */
YYSYMBOL_commandblock1 = 384, /* commandblock1 */
YYSYMBOL_commandblock2 = 385, /* commandblock2 */
YYSYMBOL_commandseq = 386, /* commandseq */
YYSYMBOL_conditionalcommand = 387, /* conditionalcommand */
YYSYMBOL_basic = 388, /* basic */
YYSYMBOL_389_1 = 389, /* $@1 */
YYSYMBOL_390_2 = 390, /* $@2 */
YYSYMBOL_391_3 = 391, /* $@3 */
YYSYMBOL_392_4 = 392, /* $@4 */
YYSYMBOL_393_5 = 393, /* $@5 */
YYSYMBOL_394_6 = 394, /* $@6 */
YYSYMBOL_395_7 = 395, /* $@7 */
YYSYMBOL_396_8 = 396, /* $@8 */
YYSYMBOL_transaction = 397, /* transaction */
YYSYMBOL_database = 398, /* database */
YYSYMBOL_filename = 399, /* filename */
YYSYMBOL_inquiries = 400, /* inquiries */
YYSYMBOL_set = 401, /* set */
YYSYMBOL_typeexpr = 402, /* typeexpr */
YYSYMBOL_typeexpr2 = 403, /* typeexpr2 */
YYSYMBOL_constructor = 404, /* constructor */
YYSYMBOL_typeexprs = 405, /* typeexprs */
YYSYMBOL_namedfunction = 406, /* namedfunction */
YYSYMBOL_function = 407, /* function */
YYSYMBOL_arg = 408, /* arg */
YYSYMBOL_args = 409, /* args */
YYSYMBOL_attribute = 410, /* attribute */
YYSYMBOL_attribute2 = 411, /* attribute2 */
YYSYMBOL_constant = 412, /* constant */
YYSYMBOL_nestedlist = 413, /* nestedlist */
YYSYMBOL_rest = 414, /* rest */
YYSYMBOL_atom = 415, /* atom */
YYSYMBOL_list = 416, /* list */
YYSYMBOL_elems = 417, /* elems */
YYSYMBOL_elem = 418, /* elem */
YYSYMBOL_naming = 419, /* naming */
YYSYMBOL_valueexprlistcomma = 420, /* valueexprlistcomma */
YYSYMBOL_simplearguments = 421, /* simplearguments */
YYSYMBOL_valueexpr = 422, /* valueexpr */
YYSYMBOL_GDIJKSTRA_fun = 423, /* GDIJKSTRA_fun */
YYSYMBOL_424_9 = 424, /* $@9 */
YYSYMBOL_MINPATHCOST2_fun = 425, /* MINPATHCOST2_fun */
YYSYMBOL_426_10 = 426, /* $@10 */
YYSYMBOL_GBIDIJKSTRA_fun = 427, /* GBIDIJKSTRA_fun */
YYSYMBOL_428_11 = 428, /* $@11 */
YYSYMBOL_MTMINPATHCOSTS2_fun = 429, /* MTMINPATHCOSTS2_fun */
YYSYMBOL_430_12 = 430, /* $@12 */
YYSYMBOL_D_SEND_SHUFFLE_fun = 431, /* D_SEND_SHUFFLE_fun */
YYSYMBOL_432_13 = 432, /* $@13 */
YYSYMBOL_DSHUFFLE_fun = 433, /* DSHUFFLE_fun */
YYSYMBOL_434_14 = 434, /* $@14 */
YYSYMBOL_DSHUFFLE2_fun = 435, /* DSHUFFLE2_fun */
YYSYMBOL_436_15 = 436, /* $@15 */
YYSYMBOL_DSHUFFLE1_fun = 437, /* DSHUFFLE1_fun */
YYSYMBOL_438_16 = 438, /* $@16 */
YYSYMBOL_DLOOP_OLD_fun = 439, /* DLOOP_OLD_fun */
YYSYMBOL_440_17 = 440, /* $@17 */
YYSYMBOL_DLOOPA_OLD_fun = 441, /* DLOOPA_OLD_fun */
YYSYMBOL_442_18 = 442, /* $@18 */
YYSYMBOL_DTIE_fun = 443, /* DTIE_fun */
YYSYMBOL_444_19 = 444, /* $@19 */
YYSYMBOL_PARTITIONDMAP_fun = 445, /* PARTITIONDMAP_fun */
YYSYMBOL_446_20 = 446, /* $@20 */
YYSYMBOL_DMAPPDMAP_fun = 447, /* DMAPPDMAP_fun */
YYSYMBOL_448_21 = 448, /* $@21 */
YYSYMBOL_FDISTRIBUTE2TES_fun = 449, /* FDISTRIBUTE2TES_fun */
YYSYMBOL_450_22 = 450, /* $@22 */
YYSYMBOL_DISTRIBUTE2TES_fun = 451, /* DISTRIBUTE2TES_fun */
YYSYMBOL_452_23 = 452, /* $@23 */
YYSYMBOL_OPTICSF_fun = 453, /* OPTICSF_fun */
YYSYMBOL_454_24 = 454, /* $@24 */
YYSYMBOL_OPTICSTF_fun = 455, /* OPTICSTF_fun */
YYSYMBOL_456_25 = 456, /* $@25 */
YYSYMBOL_FILTERV_fun = 457, /* FILTERV_fun */
YYSYMBOL_458_26 = 458, /* $@26 */
YYSYMBOL_FILTERNP_fun = 459, /* FILTERNP_fun */
YYSYMBOL_460_27 = 460, /* $@27 */
YYSYMBOL_EXTENDV_fun = 461, /* EXTENDV_fun */
YYSYMBOL_EXTENDV_fun_1 = 462, /* EXTENDV_fun_1 */
YYSYMBOL_463_28 = 463, /* $@28 */
YYSYMBOL_EXTENDV_funlist = 464, /* EXTENDV_funlist */
YYSYMBOL_EXTENDV_funlist_1 = 465, /* EXTENDV_funlist_1 */
YYSYMBOL_PROJECTEXTENDV_fun = 466, /* PROJECTEXTENDV_fun */
YYSYMBOL_PROJECTEXTENDV_fun_1 = 467, /* PROJECTEXTENDV_fun_1 */
YYSYMBOL_468_29 = 468, /* $@29 */
YYSYMBOL_PROJECTEXTENDV_funlist = 469, /* PROJECTEXTENDV_funlist */
YYSYMBOL_PROJECTEXTENDV_funlist_1 = 470, /* PROJECTEXTENDV_funlist_1 */
YYSYMBOL_EXTENDNP_fun = 471, /* EXTENDNP_fun */
YYSYMBOL_EXTENDNP_fun_1 = 472, /* EXTENDNP_fun_1 */
YYSYMBOL_473_30 = 473, /* $@30 */
YYSYMBOL_EXTENDNP_funlist = 474, /* EXTENDNP_funlist */
YYSYMBOL_EXTENDNP_funlist_1 = 475, /* EXTENDNP_funlist_1 */
YYSYMBOL_PROJECTEXTENDNP_fun = 476, /* PROJECTEXTENDNP_fun */
YYSYMBOL_PROJECTEXTENDNP_fun_1 = 477, /* PROJECTEXTENDNP_fun_1 */
YYSYMBOL_478_31 = 478, /* $@31 */
YYSYMBOL_PROJECTEXTENDNP_funlist = 479, /* PROJECTEXTENDNP_funlist */
YYSYMBOL_PROJECTEXTENDNP_funlist_1 = 480, /* PROJECTEXTENDNP_funlist_1 */
YYSYMBOL_APPLYPREDICATE_fun = 481, /* APPLYPREDICATE_fun */
YYSYMBOL_482_32 = 482, /* $@32 */
YYSYMBOL_FILTER_fun = 483, /* FILTER_fun */
YYSYMBOL_484_33 = 484, /* $@33 */
YYSYMBOL_CFILTER_fun = 485, /* CFILTER_fun */
YYSYMBOL_486_34 = 486, /* $@34 */
YYSYMBOL_CAND_fun = 487, /* CAND_fun */
YYSYMBOL_488_35 = 488, /* $@35 */
YYSYMBOL_COR_fun = 489, /* COR_fun */
YYSYMBOL_490_36 = 490, /* $@36 */
YYSYMBOL_WITHIN_fun = 491, /* WITHIN_fun */
YYSYMBOL_492_37 = 492, /* $@37 */
YYSYMBOL_WITHIN2_fun = 493, /* WITHIN2_fun */
YYSYMBOL_494_38 = 494, /* $@38 */
YYSYMBOL_WHILEDO_fun = 495, /* WHILEDO_fun */
YYSYMBOL_496_39 = 496, /* $@39 */
YYSYMBOL_FUNSEQ1_fun = 497, /* FUNSEQ1_fun */
YYSYMBOL_498_40 = 498, /* $@40 */
YYSYMBOL_FUNSEQ2_fun = 499, /* FUNSEQ2_fun */
YYSYMBOL_500_41 = 500, /* $@41 */
YYSYMBOL_FUNSEQ3_fun = 501, /* FUNSEQ3_fun */
YYSYMBOL_502_42 = 502, /* $@42 */
YYSYMBOL_FUNSEQ4_fun = 503, /* FUNSEQ4_fun */
YYSYMBOL_504_43 = 504, /* $@43 */
YYSYMBOL_FUNSEQ5_fun = 505, /* FUNSEQ5_fun */
YYSYMBOL_506_44 = 506, /* $@44 */
YYSYMBOL_FUNSEQ6_fun = 507, /* FUNSEQ6_fun */
YYSYMBOL_508_45 = 508, /* $@45 */
YYSYMBOL_DDISTRIBUTE4_fun = 509, /* DDISTRIBUTE4_fun */
YYSYMBOL_510_46 = 510, /* $@46 */
YYSYMBOL_FDISTRIBUTE7_fun = 511, /* FDISTRIBUTE7_fun */
YYSYMBOL_512_47 = 512, /* $@47 */
YYSYMBOL_DLOOP_fun = 513, /* DLOOP_fun */
YYSYMBOL_514_48 = 514, /* $@48 */
YYSYMBOL_DLOOP2_fun = 515, /* DLOOP2_fun */
YYSYMBOL_516_49 = 516, /* $@49 */
YYSYMBOL_DMAP_fun = 517, /* DMAP_fun */
YYSYMBOL_518_50 = 518, /* $@50 */
YYSYMBOL_PDMAP_fun = 519, /* PDMAP_fun */
YYSYMBOL_520_51 = 520, /* $@51 */
YYSYMBOL_DMAP2n_fun = 521, /* DMAP2n_fun */
YYSYMBOL_522_52 = 522, /* $@52 */
YYSYMBOL_DMAP2_fun = 523, /* DMAP2_fun */
YYSYMBOL_524_53 = 524, /* $@53 */
YYSYMBOL_DMAP3_fun = 525, /* DMAP3_fun */
YYSYMBOL_526_54 = 526, /* $@54 */
YYSYMBOL_DMAP4_fun = 527, /* DMAP4_fun */
YYSYMBOL_528_55 = 528, /* $@55 */
YYSYMBOL_DMAP5_fun = 529, /* DMAP5_fun */
YYSYMBOL_530_56 = 530, /* $@56 */
YYSYMBOL_DMAP6_fun = 531, /* DMAP6_fun */
YYSYMBOL_532_57 = 532, /* $@57 */
YYSYMBOL_DMAP7_fun = 533, /* DMAP7_fun */
YYSYMBOL_534_58 = 534, /* $@58 */
YYSYMBOL_DMAP8_fun = 535, /* DMAP8_fun */
YYSYMBOL_536_59 = 536, /* $@59 */
YYSYMBOL_PDMAP2_fun = 537, /* PDMAP2_fun */
YYSYMBOL_538_60 = 538, /* $@60 */
YYSYMBOL_PDMAP3_fun = 539, /* PDMAP3_fun */
YYSYMBOL_540_61 = 540, /* $@61 */
YYSYMBOL_PDMAP4_fun = 541, /* PDMAP4_fun */
YYSYMBOL_542_62 = 542, /* $@62 */
YYSYMBOL_PDMAP5_fun = 543, /* PDMAP5_fun */
YYSYMBOL_544_63 = 544, /* $@63 */
YYSYMBOL_PDMAP6_fun = 545, /* PDMAP6_fun */
YYSYMBOL_546_64 = 546, /* $@64 */
YYSYMBOL_PDMAP7_fun = 547, /* PDMAP7_fun */
YYSYMBOL_548_65 = 548, /* $@65 */
YYSYMBOL_PDMAP8_fun = 549, /* PDMAP8_fun */
YYSYMBOL_550_66 = 550, /* $@66 */
YYSYMBOL_DFDISTRIBUTE4_fun = 551, /* DFDISTRIBUTE4_fun */
YYSYMBOL_552_67 = 552, /* $@67 */
YYSYMBOL_PARTITION_fun = 553, /* PARTITION_fun */
YYSYMBOL_554_68 = 554, /* $@68 */
YYSYMBOL_PARTITIONF_fun = 555, /* PARTITIONF_fun */
YYSYMBOL_556_69 = 556, /* $@69 */
YYSYMBOL_AREDUCE_fun = 557, /* AREDUCE_fun */
YYSYMBOL_558_70 = 558, /* $@70 */
YYSYMBOL_AREDUCE2_fun = 559, /* AREDUCE2_fun */
YYSYMBOL_560_71 = 560, /* $@71 */
YYSYMBOL_AREDUCE2F_fun = 561, /* AREDUCE2F_fun */
YYSYMBOL_562_72 = 562, /* $@72 */
YYSYMBOL_DPRODUCT_fun = 563, /* DPRODUCT_fun */
YYSYMBOL_564_73 = 564, /* $@73 */
YYSYMBOL_DDISTRIBUTE_fun = 565, /* DDISTRIBUTE_fun */
YYSYMBOL_566_74 = 566, /* $@74 */
YYSYMBOL_DFDISTRIBUTE_fun = 567, /* DFDISTRIBUTE_fun */
YYSYMBOL_568_75 = 568, /* $@75 */
YYSYMBOL_PARTITION8LOCAL_fun = 569, /* PARTITION8LOCAL_fun */
YYSYMBOL_570_76 = 570, /* $@76 */
YYSYMBOL_PARTITIONF8_fun = 571, /* PARTITIONF8_fun */
YYSYMBOL_572_77 = 572, /* $@77 */
YYSYMBOL_LOOPJOINREL_fun = 573, /* LOOPJOINREL_fun */
YYSYMBOL_574_78 = 574, /* $@78 */
YYSYMBOL_CONSTGRAPH_fun = 575, /* CONSTGRAPH_fun */
YYSYMBOL_576_79 = 576, /* $@79 */
YYSYMBOL_CONSTGRAPHPOINTS_fun = 577, /* CONSTGRAPHPOINTS_fun */
YYSYMBOL_578_80 = 578, /* $@80 */
YYSYMBOL_EXISTS_fun = 579, /* EXISTS_fun */
YYSYMBOL_580_81 = 580, /* $@81 */
YYSYMBOL_FORALL_fun = 581, /* FORALL_fun */
YYSYMBOL_582_82 = 582, /* $@82 */
YYSYMBOL_PARAJOIN_fun = 583, /* PARAJOIN_fun */
YYSYMBOL_584_83 = 584, /* $@83 */
YYSYMBOL_HADOOPJOIN_fun = 585, /* HADOOPJOIN_fun */
YYSYMBOL_586_84 = 586, /* $@84 */
YYSYMBOL_MUPDATE_fun = 587, /* MUPDATE_fun */
YYSYMBOL_MUPDATE_fun_1 = 588, /* MUPDATE_fun_1 */
YYSYMBOL_589_85 = 589, /* $@85 */
YYSYMBOL_MUPDATE_funlist = 590, /* MUPDATE_funlist */
YYSYMBOL_MUPDATE_funlist_1 = 591, /* MUPDATE_funlist_1 */
YYSYMBOL_MUPDATESAVE_fun = 592, /* MUPDATESAVE_fun */
YYSYMBOL_MUPDATESAVE_fun_1 = 593, /* MUPDATESAVE_fun_1 */
YYSYMBOL_594_86 = 594, /* $@86 */
YYSYMBOL_MUPDATESAVE_funlist = 595, /* MUPDATESAVE_funlist */
YYSYMBOL_MUPDATESAVE_funlist_1 = 596, /* MUPDATESAVE_funlist_1 */
YYSYMBOL_MUPDATEBYID_fun = 597, /* MUPDATEBYID_fun */
YYSYMBOL_MUPDATEBYID_fun_1 = 598, /* MUPDATEBYID_fun_1 */
YYSYMBOL_599_87 = 599, /* $@87 */
YYSYMBOL_MUPDATEBYID_funlist = 600, /* MUPDATEBYID_funlist */
YYSYMBOL_MUPDATEBYID_funlist_1 = 601, /* MUPDATEBYID_funlist_1 */
YYSYMBOL_MUPDATEDIRECT2_fun = 602, /* MUPDATEDIRECT2_fun */
YYSYMBOL_MUPDATEDIRECT2_fun_1 = 603, /* MUPDATEDIRECT2_fun_1 */
YYSYMBOL_604_88 = 604, /* $@88 */
YYSYMBOL_MUPDATEDIRECT2_funlist = 605, /* MUPDATEDIRECT2_funlist */
YYSYMBOL_MUPDATEDIRECT2_funlist_1 = 606, /* MUPDATEDIRECT2_funlist_1 */
YYSYMBOL_MOSHORTESTPATHD_fun = 607, /* MOSHORTESTPATHD_fun */
YYSYMBOL_608_89 = 608, /* $@89 */
YYSYMBOL_MOSHORTESTPATHA_fun = 609, /* MOSHORTESTPATHA_fun */
YYSYMBOL_610_90 = 610, /* $@90 */
YYSYMBOL_MGSHORTESTPATHD_fun = 611, /* MGSHORTESTPATHD_fun */
YYSYMBOL_612_91 = 612, /* $@91 */
YYSYMBOL_MGSHORTESTPATHA_fun = 613, /* MGSHORTESTPATHA_fun */
YYSYMBOL_614_92 = 614, /* $@92 */
YYSYMBOL_MPQREORDER_fun = 615, /* MPQREORDER_fun */
YYSYMBOL_616_93 = 616, /* $@93 */
YYSYMBOL_MPQREORDERUPDATE_fun = 617, /* MPQREORDERUPDATE_fun */
YYSYMBOL_618_94 = 618, /* $@94 */
YYSYMBOL_CREATEMGRAPH2_fun = 619, /* CREATEMGRAPH2_fun */
YYSYMBOL_620_95 = 620, /* $@95 */
YYSYMBOL_CREATEMGRAPH2FLOB_fun = 621, /* CREATEMGRAPH2FLOB_fun */
YYSYMBOL_622_96 = 622, /* $@96 */
YYSYMBOL_MG2INSERTORIG_fun = 623, /* MG2INSERTORIG_fun */
YYSYMBOL_624_97 = 624, /* $@97 */
YYSYMBOL_MEMGROUPBY_fun = 625, /* MEMGROUPBY_fun */
YYSYMBOL_MEMGROUPBY_fun_1 = 626, /* MEMGROUPBY_fun_1 */
YYSYMBOL_627_98 = 627, /* $@98 */
YYSYMBOL_MEMGROUPBY_funlist = 628, /* MEMGROUPBY_funlist */
YYSYMBOL_MEMGROUPBY_funlist_1 = 629, /* MEMGROUPBY_funlist_1 */
YYSYMBOL_PUSE_fun = 630, /* PUSE_fun */
YYSYMBOL_631_99 = 631, /* $@99 */
YYSYMBOL_PJOIN2_fun = 632, /* PJOIN2_fun */
YYSYMBOL_PJOIN2_fun_1 = 633, /* PJOIN2_fun_1 */
YYSYMBOL_634_100 = 634, /* $@100 */
YYSYMBOL_PJOIN2_funlist = 635, /* PJOIN2_funlist */
YYSYMBOL_PJOIN2_funlist_1 = 636, /* PJOIN2_funlist_1 */
YYSYMBOL_PJOIN1_fun = 637, /* PJOIN1_fun */
YYSYMBOL_PJOIN1_fun_1 = 638, /* PJOIN1_fun_1 */
YYSYMBOL_639_101 = 639, /* $@101 */
YYSYMBOL_PJOIN1_funlist = 640, /* PJOIN1_funlist */
YYSYMBOL_PJOIN1_funlist_1 = 641, /* PJOIN1_funlist_1 */
YYSYMBOL_SORTARRAY_fun = 642, /* SORTARRAY_fun */
YYSYMBOL_643_102 = 643, /* $@102 */
YYSYMBOL_TIE_fun = 644, /* TIE_fun */
YYSYMBOL_645_103 = 645, /* $@103 */
YYSYMBOL_CUMULATE_fun = 646, /* CUMULATE_fun */
YYSYMBOL_647_104 = 647, /* $@104 */
YYSYMBOL_LOOP_fun = 648, /* LOOP_fun */
YYSYMBOL_649_105 = 649, /* $@105 */
YYSYMBOL_LOOPA_fun = 650, /* LOOPA_fun */
YYSYMBOL_651_106 = 651, /* $@106 */
YYSYMBOL_LOOPB_fun = 652, /* LOOPB_fun */
YYSYMBOL_653_107 = 653, /* $@107 */
YYSYMBOL_LOOPSWITCH_fun = 654, /* LOOPSWITCH_fun */
YYSYMBOL_LOOPSWITCH_fun_1 = 655, /* LOOPSWITCH_fun_1 */
YYSYMBOL_656_108 = 656, /* $@108 */
YYSYMBOL_LOOPSWITCH_funlist = 657, /* LOOPSWITCH_funlist */
YYSYMBOL_LOOPSWITCH_funlist_1 = 658, /* LOOPSWITCH_funlist_1 */
YYSYMBOL_LOOPSWITCHA_fun = 659, /* LOOPSWITCHA_fun */
YYSYMBOL_LOOPSWITCHA_fun_1 = 660, /* LOOPSWITCHA_fun_1 */
YYSYMBOL_661_109 = 661, /* $@109 */
YYSYMBOL_LOOPSWITCHA_funlist = 662, /* LOOPSWITCHA_funlist */
YYSYMBOL_LOOPSWITCHA_funlist_1 = 663, /* LOOPSWITCHA_funlist_1 */
YYSYMBOL_LOOPSWITCHB_fun = 664, /* LOOPSWITCHB_fun */
YYSYMBOL_LOOPSWITCHB_fun_1 = 665, /* LOOPSWITCHB_fun_1 */
YYSYMBOL_666_110 = 666, /* $@110 */
YYSYMBOL_LOOPSWITCHB_funlist = 667, /* LOOPSWITCHB_funlist */
YYSYMBOL_LOOPSWITCHB_funlist_1 = 668, /* LOOPSWITCHB_funlist_1 */
YYSYMBOL_LOOPSELECT_fun = 669, /* LOOPSELECT_fun */
YYSYMBOL_LOOPSELECT_fun_1 = 670, /* LOOPSELECT_fun_1 */
YYSYMBOL_671_111 = 671, /* $@111 */
YYSYMBOL_LOOPSELECT_funlist = 672, /* LOOPSELECT_funlist */
YYSYMBOL_LOOPSELECT_funlist_1 = 673, /* LOOPSELECT_funlist_1 */
YYSYMBOL_LOOPSELECTA_fun = 674, /* LOOPSELECTA_fun */
YYSYMBOL_LOOPSELECTA_fun_1 = 675, /* LOOPSELECTA_fun_1 */
YYSYMBOL_676_112 = 676, /* $@112 */
YYSYMBOL_LOOPSELECTA_funlist = 677, /* LOOPSELECTA_funlist */
YYSYMBOL_LOOPSELECTA_funlist_1 = 678, /* LOOPSELECTA_funlist_1 */
YYSYMBOL_LOOPSELECTB_fun = 679, /* LOOPSELECTB_fun */
YYSYMBOL_LOOPSELECTB_fun_1 = 680, /* LOOPSELECTB_fun_1 */
YYSYMBOL_681_113 = 681, /* $@113 */
YYSYMBOL_LOOPSELECTB_funlist = 682, /* LOOPSELECTB_funlist */
YYSYMBOL_LOOPSELECTB_funlist_1 = 683, /* LOOPSELECTB_funlist_1 */
YYSYMBOL_PARTJOIN_fun = 684, /* PARTJOIN_fun */
YYSYMBOL_685_114 = 685, /* $@114 */
YYSYMBOL_PARTJOINSWITCH_fun = 686, /* PARTJOINSWITCH_fun */
YYSYMBOL_PARTJOINSWITCH_fun_1 = 687, /* PARTJOINSWITCH_fun_1 */
YYSYMBOL_688_115 = 688, /* $@115 */
YYSYMBOL_PARTJOINSWITCH_funlist = 689, /* PARTJOINSWITCH_funlist */
YYSYMBOL_PARTJOINSWITCH_funlist_1 = 690, /* PARTJOINSWITCH_funlist_1 */
YYSYMBOL_PARTJOINSELECT_fun = 691, /* PARTJOINSELECT_fun */
YYSYMBOL_PARTJOINSELECT_fun_1 = 692, /* PARTJOINSELECT_fun_1 */
YYSYMBOL_693_116 = 693, /* $@116 */
YYSYMBOL_PARTJOINSELECT_funlist = 694, /* PARTJOINSELECT_funlist */
YYSYMBOL_PARTJOINSELECT_funlist_1 = 695, /* PARTJOINSELECT_funlist_1 */
YYSYMBOL_EXTEND_fun = 696, /* EXTEND_fun */
YYSYMBOL_EXTEND_fun_1 = 697, /* EXTEND_fun_1 */
YYSYMBOL_698_117 = 698, /* $@117 */
YYSYMBOL_EXTEND_funlist = 699, /* EXTEND_funlist */
YYSYMBOL_EXTEND_funlist_1 = 700, /* EXTEND_funlist_1 */
YYSYMBOL_PARAJOIN2_fun = 701, /* PARAJOIN2_fun */
YYSYMBOL_702_118 = 702, /* $@118 */
YYSYMBOL_DRELFILTER_fun = 703, /* DRELFILTER_fun */
YYSYMBOL_704_119 = 704, /* $@119 */
YYSYMBOL_DRELEXTEND_fun = 705, /* DRELEXTEND_fun */
YYSYMBOL_DRELEXTEND_fun_1 = 706, /* DRELEXTEND_fun_1 */
YYSYMBOL_707_120 = 707, /* $@120 */
YYSYMBOL_DRELEXTEND_funlist = 708, /* DRELEXTEND_funlist */
YYSYMBOL_DRELEXTEND_funlist_1 = 709, /* DRELEXTEND_funlist_1 */
YYSYMBOL_DRELPROJECTEXTEND_fun = 710, /* DRELPROJECTEXTEND_fun */
YYSYMBOL_DRELPROJECTEXTEND_fun_1 = 711, /* DRELPROJECTEXTEND_fun_1 */
YYSYMBOL_712_121 = 712, /* $@121 */
YYSYMBOL_DRELPROJECTEXTEND_funlist = 713, /* DRELPROJECTEXTEND_funlist */
YYSYMBOL_DRELPROJECTEXTEND_funlist_1 = 714, /* DRELPROJECTEXTEND_funlist_1 */
YYSYMBOL_DRELLGROUPBY_fun = 715, /* DRELLGROUPBY_fun */
YYSYMBOL_DRELLGROUPBY_fun_1 = 716, /* DRELLGROUPBY_fun_1 */
YYSYMBOL_717_122 = 717, /* $@122 */
YYSYMBOL_DRELLGROUPBY_funlist = 718, /* DRELLGROUPBY_funlist */
YYSYMBOL_DRELLGROUPBY_funlist_1 = 719, /* DRELLGROUPBY_funlist_1 */
YYSYMBOL_DRELGROUPBY_fun = 720, /* DRELGROUPBY_fun */
YYSYMBOL_DRELGROUPBY_fun_1 = 721, /* DRELGROUPBY_fun_1 */
YYSYMBOL_722_123 = 722, /* $@123 */
YYSYMBOL_DRELGROUPBY_funlist = 723, /* DRELGROUPBY_funlist */
YYSYMBOL_DRELGROUPBY_funlist_1 = 724, /* DRELGROUPBY_funlist_1 */
YYSYMBOL_DRELUPDATE_fun = 725, /* DRELUPDATE_fun */
YYSYMBOL_DRELUPDATE_fun_1 = 726, /* DRELUPDATE_fun_1 */
YYSYMBOL_727_124 = 727, /* $@124 */
YYSYMBOL_DRELUPDATE_funlist = 728, /* DRELUPDATE_funlist */
YYSYMBOL_DRELUPDATE_funlist_1 = 729, /* DRELUPDATE_funlist_1 */
YYSYMBOL_DRELUPDATEBYID_fun = 730, /* DRELUPDATEBYID_fun */
YYSYMBOL_DRELUPDATEBYID_fun_1 = 731, /* DRELUPDATEBYID_fun_1 */
YYSYMBOL_732_125 = 732, /* $@125 */
YYSYMBOL_DRELUPDATEBYID_funlist = 733, /* DRELUPDATEBYID_funlist */
YYSYMBOL_DRELUPDATEBYID_funlist_1 = 734, /* DRELUPDATEBYID_funlist_1 */
YYSYMBOL_DRELFILTERADDID_fun = 735, /* DRELFILTERADDID_fun */
YYSYMBOL_736_126 = 736, /* $@126 */
YYSYMBOL_DRELFILTERDELETE_fun = 737, /* DRELFILTERDELETE_fun */
YYSYMBOL_738_127 = 738, /* $@127 */
YYSYMBOL_DRELFILTERUPDATE_fun = 739, /* DRELFILTERUPDATE_fun */
YYSYMBOL_DRELFILTERUPDATE_fun_1 = 740, /* DRELFILTERUPDATE_fun_1 */
YYSYMBOL_741_128 = 741, /* $@128 */
YYSYMBOL_DRELFILTERUPDATE_funlist = 742, /* DRELFILTERUPDATE_funlist */
YYSYMBOL_DRELFILTERUPDATE_funlist_1 = 743, /* DRELFILTERUPDATE_funlist_1 */
YYSYMBOL_DBSCANF_fun = 744, /* DBSCANF_fun */
YYSYMBOL_745_129 = 745, /* $@129 */
YYSYMBOL_DBSCANTF_fun = 746, /* DBSCANTF_fun */
YYSYMBOL_747_130 = 747, /* $@130 */
YYSYMBOL_PFILTERS_fun = 748, /* PFILTERS_fun */
YYSYMBOL_749_131 = 749, /* $@131 */
YYSYMBOL_PEXTEND_fun = 750, /* PEXTEND_fun */
YYSYMBOL_PEXTEND_fun_1 = 751, /* PEXTEND_fun_1 */
YYSYMBOL_752_132 = 752, /* $@132 */
YYSYMBOL_PEXTEND_funlist = 753, /* PEXTEND_funlist */
YYSYMBOL_PEXTEND_funlist_1 = 754, /* PEXTEND_funlist_1 */
YYSYMBOL_PEXTENDSTREAM_fun = 755, /* PEXTENDSTREAM_fun */
YYSYMBOL_PEXTENDSTREAM_fun_1 = 756, /* PEXTENDSTREAM_fun_1 */
YYSYMBOL_757_133 = 757, /* $@133 */
YYSYMBOL_PEXTENDSTREAM_funlist = 758, /* PEXTENDSTREAM_funlist */
YYSYMBOL_PEXTENDSTREAM_funlist_1 = 759, /* PEXTENDSTREAM_funlist_1 */
YYSYMBOL_PLOOPSEL_fun = 760, /* PLOOPSEL_fun */
YYSYMBOL_761_134 = 761, /* $@134 */
YYSYMBOL_PLOOPJOIN_fun = 762, /* PLOOPJOIN_fun */
YYSYMBOL_763_135 = 763, /* $@135 */
YYSYMBOL_PAGGREGATE_fun = 764, /* PAGGREGATE_fun */
YYSYMBOL_765_136 = 765, /* $@136 */
YYSYMBOL_PAGGREGATEB_fun = 766, /* PAGGREGATEB_fun */
YYSYMBOL_767_137 = 767, /* $@137 */
YYSYMBOL_AGGREGATES_fun = 768, /* AGGREGATES_fun */
YYSYMBOL_769_138 = 769, /* $@138 */
YYSYMBOL_USE_fun = 770, /* USE_fun */
YYSYMBOL_771_139 = 771, /* $@139 */
YYSYMBOL_USE2_fun = 772, /* USE2_fun */
YYSYMBOL_773_140 = 773, /* $@140 */
YYSYMBOL_TS_fun = 774, /* TS_fun */
YYSYMBOL_TS_fun_1 = 775, /* TS_fun_1 */
YYSYMBOL_776_141 = 776, /* $@141 */
YYSYMBOL_TS_funlist = 777, /* TS_funlist */
YYSYMBOL_TS_funlist_1 = 778, /* TS_funlist_1 */
YYSYMBOL_AS_fun = 779, /* AS_fun */
YYSYMBOL_780_142 = 780, /* $@142 */
YYSYMBOL_streamfun_fun = 781, /* streamfun_fun */
YYSYMBOL_782_143 = 782, /* $@143 */
YYSYMBOL_prog_fun = 783, /* prog_fun */
YYSYMBOL_784_144 = 784, /* $@144 */
YYSYMBOL_SYNC_fun = 785, /* SYNC_fun */
YYSYMBOL_786_145 = 786, /* $@145 */
YYSYMBOL_SideEffect_fun = 787, /* SideEffect_fun */
YYSYMBOL_788_146 = 788, /* $@146 */
YYSYMBOL_OSHORTESTPATHD_fun = 789, /* OSHORTESTPATHD_fun */
YYSYMBOL_790_147 = 790, /* $@147 */
YYSYMBOL_OSHORTESTPATHA_fun = 791, /* OSHORTESTPATHA_fun */
YYSYMBOL_792_148 = 792, /* $@148 */
YYSYMBOL_READ2_fun = 793, /* READ2_fun */
YYSYMBOL_794_149 = 794, /* $@149 */
YYSYMBOL_READ3_fun = 795, /* READ3_fun */
YYSYMBOL_796_150 = 796, /* $@150 */
YYSYMBOL_RDERIVE_fun = 797, /* RDERIVE_fun */
YYSYMBOL_798_151 = 798, /* $@151 */
YYSYMBOL_READ3_1_fun = 799, /* READ3_1_fun */
YYSYMBOL_800_152 = 800, /* $@152 */
YYSYMBOL_READ3_2_fun = 801, /* READ3_2_fun */
YYSYMBOL_802_153 = 802, /* $@153 */
YYSYMBOL_FILTERX_fun = 803, /* FILTERX_fun */
YYSYMBOL_804_154 = 804, /* $@154 */
YYSYMBOL_UPDATESEARCH_fun = 805, /* UPDATESEARCH_fun */
YYSYMBOL_UPDATESEARCH_fun_1 = 806, /* UPDATESEARCH_fun_1 */
YYSYMBOL_807_155 = 807, /* $@155 */
YYSYMBOL_UPDATESEARCH_funlist = 808, /* UPDATESEARCH_funlist */
YYSYMBOL_UPDATESEARCH_funlist_1 = 809, /* UPDATESEARCH_funlist_1 */
YYSYMBOL_UPDATEDIRECT_fun = 810, /* UPDATEDIRECT_fun */
YYSYMBOL_UPDATEDIRECT_fun_1 = 811, /* UPDATEDIRECT_fun_1 */
YYSYMBOL_812_156 = 812, /* $@156 */
YYSYMBOL_UPDATEDIRECT_funlist = 813, /* UPDATEDIRECT_funlist */
YYSYMBOL_UPDATEDIRECT_funlist_1 = 814, /* UPDATEDIRECT_funlist_1 */
YYSYMBOL_UPDATEDIRECT2_fun = 815, /* UPDATEDIRECT2_fun */
YYSYMBOL_UPDATEDIRECT2_fun_1 = 816, /* UPDATEDIRECT2_fun_1 */
YYSYMBOL_817_157 = 817, /* $@157 */
YYSYMBOL_UPDATEDIRECT2_funlist = 818, /* UPDATEDIRECT2_funlist */
YYSYMBOL_UPDATEDIRECT2_funlist_1 = 819, /* UPDATEDIRECT2_funlist_1 */
YYSYMBOL_UPDATEBYID2_fun = 820, /* UPDATEBYID2_fun */
YYSYMBOL_UPDATEBYID2_fun_1 = 821, /* UPDATEBYID2_fun_1 */
YYSYMBOL_822_158 = 822, /* $@158 */
YYSYMBOL_UPDATEBYID2_funlist = 823, /* UPDATEBYID2_funlist */
YYSYMBOL_UPDATEBYID2_funlist_1 = 824, /* UPDATEBYID2_funlist_1 */
YYSYMBOL_UPDATESEARCHSAVE_fun = 825, /* UPDATESEARCHSAVE_fun */
YYSYMBOL_UPDATESEARCHSAVE_fun_1 = 826, /* UPDATESEARCHSAVE_fun_1 */
YYSYMBOL_827_159 = 827, /* $@159 */
YYSYMBOL_UPDATESEARCHSAVE_funlist = 828, /* UPDATESEARCHSAVE_funlist */
YYSYMBOL_UPDATESEARCHSAVE_funlist_1 = 829, /* UPDATESEARCHSAVE_funlist_1 */
YYSYMBOL_UPDATEDIRECTSAVE_fun = 830, /* UPDATEDIRECTSAVE_fun */
YYSYMBOL_UPDATEDIRECTSAVE_fun_1 = 831, /* UPDATEDIRECTSAVE_fun_1 */
YYSYMBOL_832_160 = 832, /* $@160 */
YYSYMBOL_UPDATEDIRECTSAVE_funlist = 833, /* UPDATEDIRECTSAVE_funlist */
YYSYMBOL_UPDATEDIRECTSAVE_funlist_1 = 834, /* UPDATEDIRECTSAVE_funlist_1 */
YYSYMBOL_UPDATEBYID_fun = 835, /* UPDATEBYID_fun */
YYSYMBOL_UPDATEBYID_fun_1 = 836, /* UPDATEBYID_fun_1 */
YYSYMBOL_837_161 = 837, /* $@161 */
YYSYMBOL_UPDATEBYID_funlist = 838, /* UPDATEBYID_funlist */
YYSYMBOL_UPDATEBYID_funlist_1 = 839, /* UPDATEBYID_funlist_1 */
YYSYMBOL_FILTERINSERT_fun = 840, /* FILTERINSERT_fun */
YYSYMBOL_841_162 = 841, /* $@162 */
YYSYMBOL_CPROJECTEXTEND_fun = 842, /* CPROJECTEXTEND_fun */
YYSYMBOL_CPROJECTEXTEND_fun_1 = 843, /* CPROJECTEXTEND_fun_1 */
YYSYMBOL_844_163 = 844, /* $@163 */
YYSYMBOL_CPROJECTEXTEND_funlist = 845, /* CPROJECTEXTEND_funlist */
YYSYMBOL_CPROJECTEXTEND_funlist_1 = 846, /* CPROJECTEXTEND_funlist_1 */
YYSYMBOL_MAP_fun = 847, /* MAP_fun */
YYSYMBOL_848_164 = 848, /* $@164 */
YYSYMBOL_MAP2_fun = 849, /* MAP2_fun */
YYSYMBOL_850_165 = 850, /* $@165 */
YYSYMBOL_MATCHGRID_fun = 851, /* MATCHGRID_fun */
YYSYMBOL_852_166 = 852, /* $@166 */
YYSYMBOL_REPLACEELEM_fun = 853, /* REPLACEELEM_fun */
YYSYMBOL_854_167 = 854, /* $@167 */
YYSYMBOL_GROUPBY2_fun = 855, /* GROUPBY2_fun */
YYSYMBOL_GROUPBY2_fun_1 = 856, /* GROUPBY2_fun_1 */
YYSYMBOL_857_168 = 857, /* $@168 */
YYSYMBOL_GROUPBY2_funlist = 858, /* GROUPBY2_funlist */
YYSYMBOL_GROUPBY2_funlist_1 = 859, /* GROUPBY2_funlist_1 */
YYSYMBOL_HADOOPMAP_fun = 860, /* HADOOPMAP_fun */
YYSYMBOL_861_169 = 861, /* $@169 */
YYSYMBOL_HADOOPREDUCE_fun = 862, /* HADOOPREDUCE_fun */
YYSYMBOL_863_170 = 863, /* $@170 */
YYSYMBOL_HADOOPREDUCE2_fun = 864, /* HADOOPREDUCE2_fun */
YYSYMBOL_865_171 = 865, /* $@171 */
YYSYMBOL_HADOOPMAP2_fun = 866, /* HADOOPMAP2_fun */
YYSYMBOL_867_172 = 867, /* $@172 */
YYSYMBOL_GPATTERN_fun = 868, /* GPATTERN_fun */
YYSYMBOL_869_173 = 869, /* $@173 */
YYSYMBOL_CROSSPATTERN_fun = 870, /* CROSSPATTERN_fun */
YYSYMBOL_871_174 = 871, /* $@174 */
YYSYMBOL_MTHREADEDFILTER_fun = 872, /* MTHREADEDFILTER_fun */
YYSYMBOL_873_175 = 873, /* $@175 */
YYSYMBOL_CANCEL_fun = 874, /* CANCEL_fun */
YYSYMBOL_875_176 = 875, /* $@176 */
YYSYMBOL_PROJECTEXTEND_fun = 876, /* PROJECTEXTEND_fun */
YYSYMBOL_PROJECTEXTEND_fun_1 = 877, /* PROJECTEXTEND_fun_1 */
YYSYMBOL_878_177 = 878, /* $@177 */
YYSYMBOL_PROJECTEXTEND_funlist = 879, /* PROJECTEXTEND_funlist */
YYSYMBOL_PROJECTEXTEND_funlist_1 = 880, /* PROJECTEXTEND_funlist_1 */
YYSYMBOL_EXTENDSTREAM_fun = 881, /* EXTENDSTREAM_fun */
YYSYMBOL_EXTENDSTREAM_fun_1 = 882, /* EXTENDSTREAM_fun_1 */
YYSYMBOL_883_178 = 883, /* $@178 */
YYSYMBOL_EXTENDSTREAM_funlist = 884, /* EXTENDSTREAM_funlist */
YYSYMBOL_EXTENDSTREAM_funlist_1 = 885, /* EXTENDSTREAM_funlist_1 */
YYSYMBOL_PROJECTEXTENDSTREAM_fun = 886, /* PROJECTEXTENDSTREAM_fun */
YYSYMBOL_PROJECTEXTENDSTREAM_fun_1 = 887, /* PROJECTEXTENDSTREAM_fun_1 */
YYSYMBOL_888_179 = 888, /* $@179 */
YYSYMBOL_PROJECTEXTENDSTREAM_funlist = 889, /* PROJECTEXTENDSTREAM_funlist */
YYSYMBOL_PROJECTEXTENDSTREAM_funlist_1 = 890, /* PROJECTEXTENDSTREAM_funlist_1 */
YYSYMBOL_GROUPBY_fun = 891, /* GROUPBY_fun */
YYSYMBOL_GROUPBY_fun_1 = 892, /* GROUPBY_fun_1 */
YYSYMBOL_893_180 = 893, /* $@180 */
YYSYMBOL_GROUPBY_funlist = 894, /* GROUPBY_funlist */
YYSYMBOL_GROUPBY_funlist_1 = 895, /* GROUPBY_funlist_1 */
YYSYMBOL_SLIDINGWINDOW_fun = 896, /* SLIDINGWINDOW_fun */
YYSYMBOL_SLIDINGWINDOW_fun_1 = 897, /* SLIDINGWINDOW_fun_1 */
YYSYMBOL_898_181 = 898, /* $@181 */
YYSYMBOL_SLIDINGWINDOW_funlist = 899, /* SLIDINGWINDOW_funlist */
YYSYMBOL_SLIDINGWINDOW_funlist_1 = 900, /* SLIDINGWINDOW_funlist_1 */
YYSYMBOL_LOOPJOIN_fun = 901, /* LOOPJOIN_fun */
YYSYMBOL_902_182 = 902, /* $@182 */
YYSYMBOL_LOOPSEL_fun = 903, /* LOOPSEL_fun */
YYSYMBOL_904_183 = 904, /* $@183 */
YYSYMBOL_AGGREGATE_fun = 905, /* AGGREGATE_fun */
YYSYMBOL_906_184 = 906, /* $@184 */
YYSYMBOL_AGGREGATEB_fun = 907, /* AGGREGATEB_fun */
YYSYMBOL_908_185 = 908, /* $@185 */
YYSYMBOL_SYMMJOIN_fun = 909, /* SYMMJOIN_fun */
YYSYMBOL_910_186 = 910, /* $@186 */
YYSYMBOL_SYMMOUTERJOIN_fun = 911, /* SYMMOUTERJOIN_fun */
YYSYMBOL_912_187 = 912, /* $@187 */
YYSYMBOL_SYMMPRODUCTEXTEND_fun = 913, /* SYMMPRODUCTEXTEND_fun */
YYSYMBOL_SYMMPRODUCTEXTEND_fun_1 = 914, /* SYMMPRODUCTEXTEND_fun_1 */
YYSYMBOL_915_188 = 915, /* $@188 */
YYSYMBOL_SYMMPRODUCTEXTEND_funlist = 916, /* SYMMPRODUCTEXTEND_funlist */
YYSYMBOL_SYMMPRODUCTEXTEND_funlist_1 = 917, /* SYMMPRODUCTEXTEND_funlist_1 */
YYSYMBOL_EXTEND_LAST_fun = 918, /* EXTEND_LAST_fun */
YYSYMBOL_EXTEND_LAST_fun_1 = 919, /* EXTEND_LAST_fun_1 */
YYSYMBOL_920_189 = 920, /* $@189 */
YYSYMBOL_EXTEND_LAST_funlist = 921, /* EXTEND_LAST_funlist */
YYSYMBOL_EXTEND_LAST_funlist_1 = 922, /* EXTEND_LAST_funlist_1 */
YYSYMBOL_EXTEND_NEXT_fun = 923, /* EXTEND_NEXT_fun */
YYSYMBOL_EXTEND_NEXT_fun_1 = 924, /* EXTEND_NEXT_fun_1 */
YYSYMBOL_925_190 = 925, /* $@190 */
YYSYMBOL_EXTEND_NEXT_funlist = 926, /* EXTEND_NEXT_funlist */
YYSYMBOL_EXTEND_NEXT_funlist_1 = 927, /* EXTEND_NEXT_funlist_1 */
YYSYMBOL_REPLACEATTR_fun = 928, /* REPLACEATTR_fun */
YYSYMBOL_REPLACEATTR_fun_1 = 929, /* REPLACEATTR_fun_1 */
YYSYMBOL_930_191 = 930, /* $@191 */
YYSYMBOL_REPLACEATTR_funlist = 931, /* REPLACEATTR_funlist */
YYSYMBOL_REPLACEATTR_funlist_1 = 932, /* REPLACEATTR_funlist_1 */
YYSYMBOL_PFILTER_fun = 933, /* PFILTER_fun */
YYSYMBOL_934_192 = 934, /* $@192 */
YYSYMBOL_EXTENDX_fun = 935, /* EXTENDX_fun */
YYSYMBOL_936_193 = 936, /* $@193 */
YYSYMBOL_ADDMODCOUNTER_fun = 937, /* ADDMODCOUNTER_fun */
YYSYMBOL_938_194 = 938, /* $@194 */
YYSYMBOL_USEHISTOGRAM_fun = 939, /* USEHISTOGRAM_fun */
YYSYMBOL_940_195 = 940, /* $@195 */
YYSYMBOL_USEHISTOGRAM2_fun = 941, /* USEHISTOGRAM2_fun */
YYSYMBOL_942_196 = 942, /* $@196 */
YYSYMBOL_DMAPS_fun = 943, /* DMAPS_fun */
YYSYMBOL_944_197 = 944, /* $@197 */
YYSYMBOL_DMAPS2_fun = 945, /* DMAPS2_fun */
YYSYMBOL_946_198 = 946, /* $@198 */
YYSYMBOL_DMAPS3_fun = 947, /* DMAPS3_fun */
YYSYMBOL_948_199 = 948, /* $@199 */
YYSYMBOL_DMAPS4_fun = 949, /* DMAPS4_fun */
YYSYMBOL_950_200 = 950, /* $@200 */
YYSYMBOL_DMAPS5_fun = 951, /* DMAPS5_fun */
YYSYMBOL_952_201 = 952, /* $@201 */
YYSYMBOL_DPRODUCTS_fun = 953, /* DPRODUCTS_fun */
YYSYMBOL_954_202 = 954, /* $@202 */
YYSYMBOL_PARTITIONFS_fun = 955, /* PARTITIONFS_fun */
YYSYMBOL_956_203 = 956, /* $@203 */
YYSYMBOL_DBSCAN_fun = 957, /* DBSCAN_fun */
YYSYMBOL_958_204 = 958, /* $@204 */
YYSYMBOL_REGISTERFORSTREAM_fun = 959, /* REGISTERFORSTREAM_fun */
YYSYMBOL_960_205 = 960, /* $@205 */
YYSYMBOL_PREDCOUNTS_fun = 961, /* PREDCOUNTS_fun */
YYSYMBOL_PREDCOUNTS_fun_1 = 962, /* PREDCOUNTS_fun_1 */
YYSYMBOL_963_206 = 963, /* $@206 */
YYSYMBOL_PREDCOUNTS_funlist = 964, /* PREDCOUNTS_funlist */
YYSYMBOL_PREDCOUNTS_funlist_1 = 965, /* PREDCOUNTS_funlist_1 */
YYSYMBOL_STPATTERNEXTEND_fun = 966, /* STPATTERNEXTEND_fun */
YYSYMBOL_STPATTERNEXTEND_fun_1 = 967, /* STPATTERNEXTEND_fun_1 */
YYSYMBOL_968_207 = 968, /* $@207 */
YYSYMBOL_STPATTERNEXTEND_funlist = 969, /* STPATTERNEXTEND_funlist */
YYSYMBOL_STPATTERNEXTEND_funlist_1 = 970, /* STPATTERNEXTEND_funlist_1 */
YYSYMBOL_STPATTERNEXTEND2_fun = 971, /* STPATTERNEXTEND2_fun */
YYSYMBOL_STPATTERNEXTEND2_fun_1 = 972, /* STPATTERNEXTEND2_fun_1 */
YYSYMBOL_973_208 = 973, /* $@208 */
YYSYMBOL_STPATTERNEXTEND2_funlist = 974, /* STPATTERNEXTEND2_funlist */
YYSYMBOL_STPATTERNEXTEND2_funlist_1 = 975, /* STPATTERNEXTEND2_funlist_1 */
YYSYMBOL_STPATTERNEXEXTEND_fun = 976, /* STPATTERNEXEXTEND_fun */
YYSYMBOL_STPATTERNEXEXTEND_fun_1 = 977, /* STPATTERNEXEXTEND_fun_1 */
YYSYMBOL_978_209 = 978, /* $@209 */
YYSYMBOL_STPATTERNEXEXTEND_funlist = 979, /* STPATTERNEXEXTEND_funlist */
YYSYMBOL_STPATTERNEXEXTEND_funlist_1 = 980, /* STPATTERNEXEXTEND_funlist_1 */
YYSYMBOL_STPATTERNEXEXTEND2_fun = 981, /* STPATTERNEXEXTEND2_fun */
YYSYMBOL_STPATTERNEXEXTEND2_fun_1 = 982, /* STPATTERNEXEXTEND2_fun_1 */
YYSYMBOL_983_210 = 983, /* $@210 */
YYSYMBOL_STPATTERNEXEXTEND2_funlist = 984, /* STPATTERNEXEXTEND2_funlist */
YYSYMBOL_STPATTERNEXEXTEND2_funlist_1 = 985, /* STPATTERNEXEXTEND2_funlist_1 */
YYSYMBOL_STPATTERNEXTENDSTREAM_fun = 986, /* STPATTERNEXTENDSTREAM_fun */
YYSYMBOL_STPATTERNEXTENDSTREAM_fun_1 = 987, /* STPATTERNEXTENDSTREAM_fun_1 */
YYSYMBOL_988_211 = 988, /* $@211 */
YYSYMBOL_STPATTERNEXTENDSTREAM_funlist = 989, /* STPATTERNEXTENDSTREAM_funlist */
YYSYMBOL_STPATTERNEXTENDSTREAM_funlist_1 = 990, /* STPATTERNEXTENDSTREAM_funlist_1 */
YYSYMBOL_STPATTERNEXTENDSTREAM2_fun = 991, /* STPATTERNEXTENDSTREAM2_fun */
YYSYMBOL_STPATTERNEXTENDSTREAM2_fun_1 = 992, /* STPATTERNEXTENDSTREAM2_fun_1 */
YYSYMBOL_993_212 = 993, /* $@212 */
YYSYMBOL_STPATTERNEXTENDSTREAM2_funlist = 994, /* STPATTERNEXTENDSTREAM2_funlist */
YYSYMBOL_STPATTERNEXTENDSTREAM2_funlist_1 = 995, /* STPATTERNEXTENDSTREAM2_funlist_1 */
YYSYMBOL_STPATTERNEXEXTENDSTREAM_fun = 996, /* STPATTERNEXEXTENDSTREAM_fun */
YYSYMBOL_STPATTERNEXEXTENDSTREAM_fun_1 = 997, /* STPATTERNEXEXTENDSTREAM_fun_1 */
YYSYMBOL_998_213 = 998, /* $@213 */
YYSYMBOL_STPATTERNEXEXTENDSTREAM_funlist = 999, /* STPATTERNEXEXTENDSTREAM_funlist */
YYSYMBOL_STPATTERNEXEXTENDSTREAM_funlist_1 = 1000, /* STPATTERNEXEXTENDSTREAM_funlist_1 */
YYSYMBOL_STPATTERNEXEXTENDSTREAM2_fun = 1001, /* STPATTERNEXEXTENDSTREAM2_fun */
YYSYMBOL_STPATTERNEXEXTENDSTREAM2_fun_1 = 1002, /* STPATTERNEXEXTENDSTREAM2_fun_1 */
YYSYMBOL_1003_214 = 1003, /* $@214 */
YYSYMBOL_STPATTERNEXEXTENDSTREAM2_funlist = 1004, /* STPATTERNEXEXTENDSTREAM2_funlist */
YYSYMBOL_STPATTERNEXEXTENDSTREAM2_funlist_1 = 1005, /* STPATTERNEXEXTENDSTREAM2_funlist_1 */
YYSYMBOL_REDUCE_fun = 1006, /* REDUCE_fun */
YYSYMBOL_1007_215 = 1007, /* $@215 */
YYSYMBOL_TSMOTIFBFFUN_fun = 1008, /* TSMOTIFBFFUN_fun */
YYSYMBOL_1009_216 = 1009, /* $@216 */
YYSYMBOL_TSDISTANCEFUN_fun = 1010, /* TSDISTANCEFUN_fun */
YYSYMBOL_1011_217 = 1011 /* $@217 */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
#ifdef short
# undef short
#endif
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
<limits.h> and (if available) <stdint.h> are included
so that the code can choose integer types of a good width. */
#ifndef __PTRDIFF_MAX__
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
# define YY_STDINT_H
# endif
#endif
/* Narrow types that promote to a signed type and that can represent a
signed or unsigned integer of at least N bits. In tables they can
save space and decrease cache pressure. Promoting to a signed type
helps avoid bugs in integer arithmetic. */
#ifdef __INT_LEAST8_MAX__
typedef __INT_LEAST8_TYPE__ yytype_int8;
#elif defined YY_STDINT_H
typedef int_least8_t yytype_int8;
#else
typedef signed char yytype_int8;
#endif
#ifdef __INT_LEAST16_MAX__
typedef __INT_LEAST16_TYPE__ yytype_int16;
#elif defined YY_STDINT_H
typedef int_least16_t yytype_int16;
#else
typedef short yytype_int16;
#endif
/* Work around bug in HP-UX 11.23, which defines these macros
incorrectly for preprocessor constants. This workaround can likely
be removed in 2023, as HPE has promised support for HP-UX 11.23
(aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
<https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
#ifdef __hpux
# undef UINT_LEAST8_MAX
# undef UINT_LEAST16_MAX
# define UINT_LEAST8_MAX 255
# define UINT_LEAST16_MAX 65535
#endif
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
&& UINT_LEAST8_MAX <= INT_MAX)
typedef uint_least8_t yytype_uint8;
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
typedef unsigned char yytype_uint8;
#else
typedef short yytype_uint8;
#endif
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
&& UINT_LEAST16_MAX <= INT_MAX)
typedef uint_least16_t yytype_uint16;
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
typedef unsigned short yytype_uint16;
#else
typedef int yytype_uint16;
#endif
#ifndef YYPTRDIFF_T
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
# define YYPTRDIFF_T __PTRDIFF_TYPE__
# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
# elif defined PTRDIFF_MAX
# ifndef ptrdiff_t
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# endif
# define YYPTRDIFF_T ptrdiff_t
# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
# else
# define YYPTRDIFF_T long
# define YYPTRDIFF_MAXIMUM LONG_MAX
# endif
#endif
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
# define YYSIZE_T unsigned
# endif
#endif
#define YYSIZE_MAXIMUM \
YY_CAST (YYPTRDIFF_T, \
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
? YYPTRDIFF_MAXIMUM \
: YY_CAST (YYSIZE_T, -1)))
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
/* Stored state numbers (used for stacks). */
typedef yytype_int16 yy_state_t;
/* State numbers in computations. */
typedef int yy_state_fast_t;
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
# endif
# endif
# ifndef YY_
# define YY_(Msgid) Msgid
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
# else
# define YY_ATTRIBUTE_PURE
# endif
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
# else
# define YY_ATTRIBUTE_UNUSED
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YY_USE(E) ((void) (E))
#else
# define YY_USE(E) /* empty */
#endif
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
# else
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# endif
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
#endif
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
#ifndef YY_INITIAL_VALUE
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
# define YY_IGNORE_USELESS_CAST_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
# define YY_IGNORE_USELESS_CAST_END \
_Pragma ("GCC diagnostic pop")
#endif
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
# define YY_IGNORE_USELESS_CAST_BEGIN
# define YY_IGNORE_USELESS_CAST_END
#endif
#define YY_ASSERT(E) ((void) (0 && (E)))
#if !defined yyoverflow
/* The parser invokes alloca or malloc; define the necessary symbols. */
# ifdef YYSTACK_USE_ALLOCA
# if YYSTACK_USE_ALLOCA
# ifdef __GNUC__
# define YYSTACK_ALLOC __builtin_alloca
# elif defined __BUILTIN_VA_ARG_INCR
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
# elif defined _AIX
# define YYSTACK_ALLOC __alloca
# elif defined _MSC_VER
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
/* Pacify GCC's 'empty if-body' warning. */
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
to allow for a few compiler-allocated temporary stack slots. */
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
# endif
# else
# define YYSTACK_ALLOC YYMALLOC
# define YYSTACK_FREE YYFREE
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# endif
#endif /* !defined yyoverflow */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
|| (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
&& defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
{
yy_state_t yyss_alloc;
YYSTYPE yyvs_alloc;
YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
+ YYSIZEOF (YYLTYPE)) \
+ 2 * YYSTACK_GAP_MAXIMUM)
# define YYCOPY_NEEDED 1
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
#endif
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from SRC to DST. The source and destination do
not overlap. */
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(Dst, Src, Count) \
__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
# else
# define YYCOPY(Dst, Src, Count) \
do \
{ \
YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 100
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 112855
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 379
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 633
/* YYNRULES -- Number of rules. */
#define YYNRULES 1468
/* YYNSTATES -- Number of states. */
#define YYNSTATES 3399
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 623
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
: YYSYMBOL_YYUNDEF)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
static const yytype_int16 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
373, 374, 2, 2, 377, 2, 378, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 369,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 375, 2, 376, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 370, 372, 371, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
0, 268, 268, 269, 270, 276, 277, 278, 279, 280,
281, 282, 283, 286, 297, 297, 300, 307, 314, 321,
328, 335, 340, 351, 362, 375, 381, 389, 389, 397,
402, 410, 410, 418, 418, 427, 427, 435, 435, 444,
444, 458, 458, 467, 467, 483, 492, 498, 504, 512,
519, 526, 533, 539, 546, 554, 561, 570, 571, 574,
580, 586, 593, 599, 605, 611, 617, 625, 650, 651,
657, 661, 665, 667, 670, 677, 678, 683, 685, 691,
692, 693, 694, 697, 698, 705, 713, 718, 722, 725,
735, 745, 752, 753, 758, 766, 775, 775, 775, 775,
775, 778, 779, 782, 783, 785, 789, 790, 791, 792,
793, 796, 801, 802, 803, 807, 808, 814, 817, 820,
822, 827, 829, 830, 836, 837, 838, 839, 845, 846,
847, 848, 854, 860, 862, 863, 865, 866, 867, 868,
869, 870, 871, 872, 873, 874, 876, 884, 892, 901,
910, 919, 928, 937, 946, 958, 965, 975, 980, 998,
1012, 1029, 1049, 1068, 1085, 1101, 1126, 1142, 1180, 1214,
1251, 1288, 1314, 1340, 1362, 1380, 1398, 1419, 1437, 1467,
1501, 1531, 1561, 1586, 1602, 1618, 1648, 1674, 1696, 1714,
1732, 1754, 1772, 1794, 1810, 1829, 1847, 1863, 1881, 1911,
1933, 1955, 1973, 1994, 2020, 2038, 2060, 2086, 2116, 2150,
2188, 2218, 2248, 2270, 2295, 2317, 2342, 2371, 2400, 2432,
2467, 2505, 2546, 2590, 2637, 2669, 2704, 2742, 2783, 2827,
2874, 2924, 2954, 2980, 3010, 3036, 3065, 3098, 3127, 3165,
3203, 3245, 3283, 3301, 3327, 3361, 3377, 3400, 3418, 3436,
3456, 3480, 3502, 3524, 3565, 3590, 3612, 3634, 3656, 3672,
3697, 3713, 3729, 3745, 3764, 3786, 3812, 3834, 3859, 3878,
3894, 3910, 3940, 3974, 3990, 4020, 4054, 4079, 4101, 4119,
4141, 4167, 4193, 4223, 4245, 4270, 4288, 4309, 4334, 4353,
4371, 4389, 4407, 4425, 4446, 4467, 4485, 4506, 4527, 4553,
4582, 4611, 4632, 4653, 4682, 4700, 4729, 4747, 4765, 4787,
4803, 4819, 4841, 4863, 4882, 4907, 4936, 4954, 4972, 4994,
5010, 5026, 5060, 5090, 5120, 5150, 5180, 5210, 5240, 5274,
5308, 5330, 5356, 5388, 5410, 5428, 5449, 5467, 5485, 5503,
5525, 5551, 5569, 5585, 5601, 5617, 5636, 5666, 5700, 5718,
5736, 5758, 5779, 5803, 5821, 5837, 5856, 5877, 5898, 5923,
5948, 5972, 5996, 6018, 6040, 6062, 6080, 6101, 6127, 6145,
6167, 6189, 6205, 6227, 6249, 6274, 6293, 6312, 6331, 6356,
6375, 6409, 6447, 6463, 6481, 6499, 6515, 6537, 6555, 6577,
6599, 6625, 6641, 6661, 6679, 6697, 6723, 6749, 6770, 6791,
6812, 6831, 6850, 6869, 6887, 6905, 6923, 6941, 6967, 6986,
7002, 7032, 7054, 7079, 7101, 7126, 7154, 7185, 7219, 7244,
7274, 7300, 7325, 7344, 7362, 7381, 7400, 7422, 7444, 7466,
7488, 7514, 7540, 7562, 7584, 7610, 7636, 7655, 7671, 7687,
7709, 7725, 7751, 7774, 7774, 7797, 7804, 7804, 7827, 7834,
7834, 7857, 7864, 7864, 7887, 7894, 7894, 7917, 7924, 7924,
7947, 7954, 7954, 7977, 7984, 7984, 8007, 8014, 8014, 8037,
8044, 8044, 8079, 8086, 8086, 8121, 8128, 8128, 8151, 8158,
8158, 8181, 8188, 8188, 8211, 8218, 8218, 8241, 8248, 8248,
8283, 8290, 8290, 8325, 8332, 8332, 8355, 8362, 8362, 8385,
8392, 8398, 8404, 8405, 8413, 8413, 8436, 8443, 8454, 8455,
8465, 8471, 8477, 8478, 8486, 8486, 8509, 8516, 8527, 8528,
8538, 8544, 8550, 8551, 8559, 8559, 8582, 8589, 8600, 8601,
8611, 8617, 8623, 8624, 8632, 8632, 8655, 8662, 8673, 8674,
8684, 8684, 8707, 8714, 8714, 8737, 8744, 8744, 8767, 8774,
8774, 8797, 8804, 8804, 8827, 8834, 8834, 8857, 8864, 8864,
8899, 8906, 8906, 8929, 8936, 8936, 8959, 8966, 8966, 9001,
9008, 9008, 9055, 9062, 9062, 9121, 9128, 9128, 9199, 9206,
9206, 9289, 9296, 9296, 9319, 9326, 9326, 9349, 9356, 9356,
9379, 9386, 9386, 9421, 9428, 9428, 9463, 9470, 9470, 9505,
9512, 9512, 9559, 9566, 9566, 9613, 9620, 9620, 9679, 9686,
9686, 9757, 9764, 9764, 9847, 9854, 9854, 9949, 9956, 9956,
10063, 10070, 10070, 10189, 10196, 10196, 10243, 10250, 10250, 10309,
10316, 10316, 10387, 10394, 10394, 10477, 10484, 10484, 10579, 10586,
10586, 10693, 10700, 10700, 10819, 10826, 10826, 10849, 10856, 10856,
10879, 10886, 10886, 10921, 10928, 10928, 10951, 10958, 10958, 10993,
11000, 11000, 11035, 11042, 11042, 11077, 11084, 11084, 11107, 11114,
11114, 11137, 11144, 11144, 11167, 11174, 11174, 11197, 11204, 11204,
11227, 11234, 11234, 11257, 11264, 11264, 11287, 11294, 11294, 11317,
11324, 11324, 11347, 11354, 11354, 11389, 11396, 11396, 11431, 11438,
11444, 11450, 11451, 11459, 11459, 11482, 11489, 11500, 11501, 11511,
11517, 11523, 11524, 11532, 11532, 11555, 11562, 11573, 11574, 11584,
11590, 11596, 11597, 11605, 11605, 11628, 11635, 11646, 11647, 11657,
11663, 11669, 11670, 11678, 11678, 11713, 11720, 11731, 11732, 11742,
11742, 11765, 11772, 11772, 11795, 11802, 11802, 11825, 11832, 11832,
11855, 11862, 11862, 11885, 11892, 11892, 11915, 11922, 11922, 11945,
11952, 11952, 11975, 11982, 11982, 12005, 12012, 12018, 12024, 12025,
12033, 12033, 12056, 12063, 12074, 12075, 12085, 12085, 12108, 12115,
12121, 12127, 12128, 12136, 12136, 12171, 12178, 12189, 12190, 12200,
12206, 12212, 12213, 12221, 12221, 12256, 12263, 12274, 12275, 12285,
12285, 12308, 12315, 12315, 12350, 12357, 12357, 12392, 12399, 12399,
12422, 12429, 12429, 12464, 12471, 12471, 12506, 12513, 12519, 12525,
12526, 12534, 12534, 12557, 12564, 12575, 12576, 12586, 12592, 12598,
12599, 12607, 12607, 12642, 12649, 12660, 12661, 12671, 12677, 12683,
12684, 12692, 12692, 12727, 12734, 12745, 12746, 12756, 12762, 12768,
12769, 12777, 12777, 12800, 12807, 12818, 12819, 12829, 12835, 12841,
12842, 12850, 12850, 12885, 12892, 12903, 12904, 12914, 12920, 12926,
12927, 12935, 12935, 12970, 12977, 12988, 12989, 12999, 12999, 13034,
13041, 13047, 13053, 13054, 13062, 13062, 13097, 13104, 13115, 13116,
13126, 13132, 13138, 13139, 13147, 13147, 13182, 13189, 13200, 13201,
13211, 13217, 13223, 13224, 13232, 13232, 13255, 13262, 13273, 13274,
13284, 13284, 13319, 13326, 13326, 13349, 13356, 13362, 13368, 13369,
13377, 13377, 13400, 13407, 13418, 13419, 13429, 13435, 13441, 13442,
13450, 13450, 13473, 13480, 13491, 13492, 13502, 13508, 13514, 13515,
13523, 13523, 13546, 13553, 13564, 13565, 13575, 13581, 13587, 13588,
13596, 13596, 13619, 13626, 13637, 13638, 13648, 13654, 13660, 13661,
13669, 13669, 13692, 13699, 13710, 13711, 13721, 13727, 13733, 13734,
13742, 13742, 13777, 13784, 13795, 13796, 13806, 13806, 13829, 13836,
13836, 13859, 13866, 13872, 13878, 13879, 13887, 13887, 13910, 13917,
13928, 13929, 13939, 13939, 13974, 13981, 13981, 14016, 14023, 14023,
14046, 14053, 14059, 14065, 14066, 14074, 14074, 14097, 14104, 14115,
14116, 14126, 14132, 14138, 14139, 14147, 14147, 14170, 14177, 14188,
14189, 14199, 14199, 14222, 14229, 14229, 14252, 14259, 14259, 14294,
14301, 14301, 14336, 14343, 14343, 14378, 14385, 14385, 14408, 14415,
14415, 14450, 14457, 14463, 14469, 14470, 14478, 14478, 14501, 14508,
14519, 14520, 14530, 14530, 14553, 14560, 14560, 14583, 14590, 14590,
14613, 14620, 14620, 14643, 14650, 14650, 14685, 14692, 14692, 14715,
14722, 14722, 14745, 14752, 14752, 14775, 14782, 14782, 14805, 14812,
14812, 14835, 14842, 14842, 14877, 14884, 14884, 14931, 14938, 14938,
14961, 14968, 14974, 14980, 14981, 14989, 14989, 15012, 15019, 15030,
15031, 15041, 15047, 15053, 15054, 15062, 15062, 15085, 15092, 15103,
15104, 15114, 15120, 15126, 15127, 15135, 15135, 15170, 15177, 15188,
15189, 15199, 15205, 15211, 15212, 15220, 15220, 15255, 15262, 15273,
15274, 15284, 15290, 15296, 15297, 15305, 15305, 15328, 15335, 15346,
15347, 15357, 15363, 15369, 15370, 15378, 15378, 15401, 15408, 15419,
15420, 15430, 15436, 15442, 15443, 15451, 15451, 15474, 15481, 15492,
15493, 15503, 15503, 15526, 15533, 15539, 15545, 15546, 15554, 15554,
15577, 15584, 15595, 15596, 15606, 15606, 15629, 15636, 15636, 15671,
15678, 15678, 15701, 15708, 15708, 15731, 15738, 15744, 15750, 15751,
15759, 15759, 15782, 15789, 15800, 15801, 15811, 15811, 15834, 15841,
15841, 15864, 15871, 15871, 15906, 15913, 15913, 15948, 15955, 15955,
15978, 15985, 15985, 16008, 16015, 16015, 16038, 16045, 16045, 16068,
16075, 16081, 16087, 16088, 16096, 16096, 16119, 16126, 16137, 16138,
16148, 16154, 16160, 16161, 16169, 16169, 16192, 16199, 16210, 16211,
16221, 16227, 16233, 16234, 16242, 16242, 16265, 16272, 16283, 16284,
16294, 16300, 16306, 16307, 16315, 16315, 16338, 16345, 16356, 16357,
16367, 16373, 16379, 16380, 16388, 16388, 16411, 16418, 16429, 16430,
16440, 16440, 16463, 16470, 16470, 16493, 16500, 16500, 16535, 16542,
16542, 16577, 16584, 16584, 16619, 16626, 16626, 16661, 16668, 16674,
16680, 16681, 16689, 16689, 16724, 16731, 16742, 16743, 16753, 16759,
16765, 16766, 16774, 16774, 16809, 16816, 16827, 16828, 16838, 16844,
16850, 16851, 16859, 16859, 16894, 16901, 16912, 16913, 16923, 16929,
16935, 16936, 16944, 16944, 16967, 16974, 16985, 16986, 16996, 16996,
17031, 17038, 17038, 17061, 17068, 17068, 17103, 17110, 17110, 17133,
17140, 17140, 17175, 17182, 17182, 17205, 17212, 17212, 17247, 17254,
17254, 17301, 17308, 17308, 17367, 17374, 17374, 17445, 17452, 17452,
17487, 17494, 17494, 17529, 17536, 17536, 17559, 17566, 17566, 17589,
17596, 17602, 17608, 17609, 17617, 17617, 17640, 17647, 17658, 17659,
17669, 17675, 17681, 17682, 17690, 17690, 17713, 17720, 17731, 17732,
17742, 17748, 17754, 17755, 17763, 17763, 17786, 17793, 17804, 17805,
17815, 17821, 17827, 17828, 17836, 17836, 17859, 17866, 17877, 17878,
17888, 17894, 17900, 17901, 17909, 17909, 17932, 17939, 17950, 17951,
17961, 17967, 17973, 17974, 17982, 17982, 18005, 18012, 18023, 18024,
18034, 18040, 18046, 18047, 18055, 18055, 18078, 18085, 18096, 18097,
18107, 18113, 18119, 18120, 18128, 18128, 18151, 18158, 18169, 18170,
18180, 18186, 18192, 18193, 18201, 18201, 18224, 18231, 18242, 18243,
18253, 18253, 18276, 18283, 18283, 18318, 18325, 18325, 18360
};
#endif
/** Accessing symbol of state STATE. */
#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
#if YYDEBUG || 0
/* The user-facing name of the symbol whose (internal) number is
YYSYMBOL. No bounds checking. */
static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
"\"end of file\"", "error", "\"invalid token\"", "ZZATTRABBR",
"ZZATTRABBR2", "ZZIDENTIFIER", "ZZFUN", "ZZINTEGER", "ZZREAL",
"ZZSTRING", "ZZBOOLEAN", "ZZCONST", "ZZTUPLE", "ZZGROUP", "ZZTYPE",
"ZZDELETE", "ZZCREATE", "ZZUPDATE", "ZZKILL", "ZZQUERY", "ZZQUERYNT",
"ZZPQUERY", "ZZPCOMPILE", "ZZLET", "ZZDERIVE", "ZZPERSISTENT",
"ZZBEGIN1", "ZZTRANSACTION", "ZZCOMMIT", "ZZABORT", "ZZDATABASE",
"ZZOPEN", "ZZCLOSE", "ZZSAVE", "ZZTO", "ZZRESTORE", "ZZFROM", "ZZLIST",
"ZZDATABASES", "ZZCONSTRUCTORS", "ZZOPERATORS", "ZZTYPES", "ZZOBJECTS",
"ZZASSIGN", "ZZDOUBLE", "ZZVALUE", "ZZPOINTER", "ZZCOUNTERS",
"ZZALGEBRAS", "ZZALGEBRA", "ZZTEXT", "ZZFILE", "ZZINFIXOP", "ZZPREFIXOP",
"ZZINFIXOP_BUF", "ZZPREFIXOP_BUF", "ZZIF", "ZZTHEN", "ZZELSE", "ZZENDIF",
"ZZWHILE", "ZZDO", "ZZENDWHILE", "ZZNAMING", "ZZMEMORY", "ZZDEFAULTSEP",
"OPENDOUBLEBRACE", "CLOSEDOUBLEBRACE", "ZZSINGLE", "ZZARG3", "ZZARG4",
"ZZARG5", "ZZARG6", "ZZARG7", "ZZARG8", "ZZARG9", "ZZATTRABBR3",
"ZZATTRABBR4", "ZZATTRABBR5", "ZZATTRABBR6", "ZZATTRABBR7",
"ZZATTRABBR8", "ZZATTRABBR9", "ZZCHANGENAME", "ZZTYPEOF", "ZZPOSTFIXOP1",
"ZZPOSTFIXOP1_a", "ZZPOSTFIXOP2_a", "ZZNEST", "ZZPOSTFIXOP2", "ZZSORTBY",
"ZZSORTBYPARAM", "ZZSORTBYH", "ZZGDIJKSTRA", "ZZMINPATHCOST2",
"ZZGBIDIJKSTRA", "ZZMTMINPATHCOSTS2", "ZZD_SEND_SHUFFLE", "ZZDSHUFFLE",
"ZZDSHUFFLE2", "ZZDSHUFFLE1", "ZZDLOOP_OLD", "ZZDLOOPA_OLD", "ZZDTIE",
"ZZPARTITIONDMAP", "ZZDMAPPDMAP", "ZZFDISTRIBUTE2TES",
"ZZDISTRIBUTE2TES", "ZZCOLLECTPC2", "ZZOPTICSR", "ZZOPTICSM",
"ZZOPTICSF", "ZZOPTICSTF", "ZZFILTERV", "ZZFILTERNP", "ZZEXTENDV",
"ZZPROJECTEXTENDV", "ZZEXTENDNP", "ZZPROJECTEXTENDNP", "ZZDBDACSCAN",
"ZZDISTSAMP", "ZZAPPLYPREDICATE", "ZZFEEDPROJECT", "ZZFILTER",
"ZZCFILTER", "ZZCAND", "ZZCOR", "ZZWITHIN", "ZZWITHIN2", "ZZWHILEDO",
"ZZFUNSEQ1", "ZZFUNSEQ2", "ZZFUNSEQ3", "ZZFUNSEQ4", "ZZFUNSEQ5",
"ZZFUNSEQ6", "ZZDDISTRIBUTE4", "ZZFDISTRIBUTE7", "ZZDLOOP", "ZZDLOOP2",
"ZZDMAP", "ZZPDMAP", "ZZDMAP2n", "ZZDMAP2", "ZZDMAP3", "ZZDMAP4",
"ZZDMAP5", "ZZDMAP6", "ZZDMAP7", "ZZDMAP8", "ZZPDMAP2", "ZZPDMAP3",
"ZZPDMAP4", "ZZPDMAP5", "ZZPDMAP6", "ZZPDMAP7", "ZZPDMAP8",
"ZZDFDISTRIBUTE4", "ZZPARTITION", "ZZPARTITIONF", "ZZAREDUCE",
"ZZAREDUCE2", "ZZAREDUCE2F", "ZZDPRODUCT", "ZZDDISTRIBUTE",
"ZZDFDISTRIBUTE", "ZZPARTITION8LOCAL", "ZZPARTITIONF8", "ZZLOOPJOINREL",
"ZZCONSTGRAPH", "ZZCONSTGRAPHPOINTS", "ZZTRANSLATE", "ZZPOSTFIXOP3_a",
"ZZEXISTS", "ZZFORALL", "ZZPOSTFIXOP3", "ZZPARAJOIN", "ZZFCONSUME",
"ZZFFEED", "ZZHADOOPJOIN", "ZZFDISTRIBUTE", "ZZFFEED2", "ZZFCONSUME3",
"ZZFFEED3", "ZZFETCHFLOB", "ZZFDISTRIBUTE3", "ZZMOCONSUME",
"ZZMOCONSUMEFLOB", "ZZMINSERTTUPLE", "ZZMINSERTTUPLESAVE", "ZZMUPDATE",
"ZZMUPDATESAVE", "ZZMUPDATEBYID", "ZZMUPDATEDIRECT2", "ZZMORANGE",
"ZZMOLEFTRANGE", "ZZMORIGHTRANGE", "ZZMOSHORTESTPATHD",
"ZZMOSHORTESTPATHA", "ZZMQUICKSORTBY", "ZZMGSHORTESTPATHD",
"ZZMGSHORTESTPATHA", "ZZMINSERTTUPLEPQPROJECTU",
"ZZMINSERTTUPLEPQPROJECT", "ZZMPQREORDER", "ZZMPQREORDERUPDATE",
"ZZCREATEMGRAPH2", "ZZCREATEMGRAPH2FLOB", "ZZMG2INSERTORIG",
"ZZMEMGROUPBY", "ZZMMERGEJOINPROJECT", "ZZPUSE", "ZZPJOIN2", "ZZPJOIN1",
"ZZEXTENDITEMNAMES", "ZZSORTARRAY", "ZZTIE", "ZZCUMULATE", "ZZLOOP",
"ZZLOOPA", "ZZLOOPB", "ZZLOOPSWITCH", "ZZLOOPSWITCHA", "ZZLOOPSWITCHB",
"ZZLOOPSELECT", "ZZLOOPSELECTA", "ZZLOOPSELECTB", "ZZPARTJOIN",
"ZZPARTJOINSWITCH", "ZZPARTJOINSELECT", "ZZEXTEND", "ZZPARAJOIN2",
"ZZDRELFILTER", "ZZDRELEXTEND", "ZZDRELPROJECTEXTEND", "ZZPROJECT",
"ZZLSORTBY", "ZZDRELLGROUPBY", "ZZDRELGROUPBY", "ZZDRELINSERTTUPLE",
"ZZDRELUPDATE", "ZZDRELUPDATEBYID", "ZZDRELFILTERADDID",
"ZZDRELFILTERDELETE", "ZZDRELFILTERUPDATE", "ZZDBSCANR", "ZZDBSCANM",
"ZZDBSCANF", "ZZDBSCANTF", "ZZPFILTERS", "ZZPEXTEND", "ZZPEXTENDSTREAM",
"ZZPLOOPSEL", "ZZPLOOPJOIN", "ZZPAGGREGATE", "ZZPAGGREGATEB",
"ZZPSORTBY", "ZZPOSTFIXOP4_a", "ZZPOSTFIXOP6_a", "ZZAGGREGATES", "ZZUSE",
"ZZUSE2", "ZZTS", "ZZAS", "ZZstreamfun", "ZZprog", "ZZSYNC",
"ZZSideEffect", "ZZTRANSLATE_GROOM", "ZZOLEFTRANGE", "ZZORIGHTRANGE",
"ZZORANGE", "ZZOSHORTESTPATHD", "ZZOSHORTESTPATHA", "ZZREAD2", "ZZREAD3",
"ZZRDERIVE", "ZZREAD3_1", "ZZREAD3_2", "ZZFILTERX", "ZZINSERTTUPLE",
"ZZINSERTTUPLESAVE", "ZZUPDATESEARCH", "ZZUPDATEDIRECT",
"ZZUPDATEDIRECT2", "ZZUPDATEBYID2", "ZZUPDATESEARCHSAVE",
"ZZUPDATEDIRECTSAVE", "ZZUPDATEBYID", "ZZFILTERINSERT",
"ZZCPROJECTEXTEND", "ZZMAP", "ZZMAP2", "ZZMATCHGRID", "ZZREPLACEELEM",
"ZZGROUPBY2", "ZZSPREAD", "ZZCOLLECT", "ZZHADOOPMAP", "ZZHADOOPREDUCE",
"ZZHADOOPREDUCE2", "ZZPFFEED", "ZZPFFEED2", "ZZPFFEED3", "ZZHADOOPMAP2",
"ZZREPORTPATTERN", "ZZGPATTERN", "ZZCROSSPATTERN",
"ZZMTHREADEDMERGESORT", "ZZMTHREADEDFILTER", "ZZCANCEL", "ZZKRDUP",
"ZZPROJECTEXTEND", "ZZEXTENDSTREAM", "ZZPROJECTEXTENDSTREAM",
"ZZGROUPBY", "ZZSLIDINGWINDOW", "ZZSORTBYOLD",
"ZZPOSTFIXOP2_a_autobuffer", "ZZLOOPJOIN", "ZZLOOPSEL", "ZZAGGREGATE",
"ZZAGGREGATEB", "ZZSYMMJOIN", "ZZSYMMOUTERJOIN", "ZZSYMMPRODUCTEXTEND",
"ZZKSMALLEST", "ZZKBIGGEST", "ZZEXTEND_AGGR", "ZZEXTEND_LAST",
"ZZEXTEND_NEXT", "ZZREPLACEATTR", "ZZPFILTER", "ZZEXTENDX", "ZZOBOJOIND",
"ZZISORDEREDBY", "ZZADDMODCOUNTER", "ZZUSEHISTOGRAM", "ZZUSEHISTOGRAM2",
"ZZDMAPS", "ZZDMAPS2", "ZZDMAPS3", "ZZDMAPS4", "ZZDMAPS5", "ZZDPRODUCTS",
"ZZPARTITIONFS", "ZZDBSCAN", "ZZREGISTERFORSTREAM", "ZZNEST2",
"ZZPREDCOUNTS", "ZZSTPATTERN", "ZZSTPATTERN2", "ZZSTPATTERNEX",
"ZZSTPATTERNEX2", "ZZSTPATTERNEXTEND", "ZZSTPATTERNEXTEND2",
"ZZSTPATTERNEXEXTEND", "ZZSTPATTERNEXEXTEND2", "ZZSTPATTERNEXTENDSTREAM",
"ZZSTPATTERNEXTENDSTREAM2", "ZZSTPATTERNEXEXTENDSTREAM",
"ZZSTPATTERNEXEXTENDSTREAM2", "ZZCOMPUTECLOSURE", "ZZOCONSUME",
"ZZREMOVE", "ZZREDUCE", "ZZRENAMEATTR", "ZZTSMOTIFBFFUN",
"ZZTSDISTANCEFUN", "';'", "'{'", "'}'", "'|'", "'('", "')'", "'['",
"']'", "','", "'.'", "$accept", "commands", "command", "whilecommand",
"commandblock", "commandblock1", "commandblock2", "commandseq",
"conditionalcommand", "basic", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6",
"$@7", "$@8", "transaction", "database", "filename", "inquiries", "set",
"typeexpr", "typeexpr2", "constructor", "typeexprs", "namedfunction",
"function", "arg", "args", "attribute", "attribute2", "constant",
"nestedlist", "rest", "atom", "list", "elems", "elem", "naming",
"valueexprlistcomma", "simplearguments", "valueexpr", "GDIJKSTRA_fun",
"$@9", "MINPATHCOST2_fun", "$@10", "GBIDIJKSTRA_fun", "$@11",
"MTMINPATHCOSTS2_fun", "$@12", "D_SEND_SHUFFLE_fun", "$@13",
"DSHUFFLE_fun", "$@14", "DSHUFFLE2_fun", "$@15", "DSHUFFLE1_fun", "$@16",
"DLOOP_OLD_fun", "$@17", "DLOOPA_OLD_fun", "$@18", "DTIE_fun", "$@19",
"PARTITIONDMAP_fun", "$@20", "DMAPPDMAP_fun", "$@21",
"FDISTRIBUTE2TES_fun", "$@22", "DISTRIBUTE2TES_fun", "$@23",
"OPTICSF_fun", "$@24", "OPTICSTF_fun", "$@25", "FILTERV_fun", "$@26",
"FILTERNP_fun", "$@27", "EXTENDV_fun", "EXTENDV_fun_1", "$@28",
"EXTENDV_funlist", "EXTENDV_funlist_1", "PROJECTEXTENDV_fun",
"PROJECTEXTENDV_fun_1", "$@29", "PROJECTEXTENDV_funlist",
"PROJECTEXTENDV_funlist_1", "EXTENDNP_fun", "EXTENDNP_fun_1", "$@30",
"EXTENDNP_funlist", "EXTENDNP_funlist_1", "PROJECTEXTENDNP_fun",
"PROJECTEXTENDNP_fun_1", "$@31", "PROJECTEXTENDNP_funlist",
"PROJECTEXTENDNP_funlist_1", "APPLYPREDICATE_fun", "$@32", "FILTER_fun",
"$@33", "CFILTER_fun", "$@34", "CAND_fun", "$@35", "COR_fun", "$@36",
"WITHIN_fun", "$@37", "WITHIN2_fun", "$@38", "WHILEDO_fun", "$@39",
"FUNSEQ1_fun", "$@40", "FUNSEQ2_fun", "$@41", "FUNSEQ3_fun", "$@42",
"FUNSEQ4_fun", "$@43", "FUNSEQ5_fun", "$@44", "FUNSEQ6_fun", "$@45",
"DDISTRIBUTE4_fun", "$@46", "FDISTRIBUTE7_fun", "$@47", "DLOOP_fun",
"$@48", "DLOOP2_fun", "$@49", "DMAP_fun", "$@50", "PDMAP_fun", "$@51",
"DMAP2n_fun", "$@52", "DMAP2_fun", "$@53", "DMAP3_fun", "$@54",
"DMAP4_fun", "$@55", "DMAP5_fun", "$@56", "DMAP6_fun", "$@57",
"DMAP7_fun", "$@58", "DMAP8_fun", "$@59", "PDMAP2_fun", "$@60",
"PDMAP3_fun", "$@61", "PDMAP4_fun", "$@62", "PDMAP5_fun", "$@63",
"PDMAP6_fun", "$@64", "PDMAP7_fun", "$@65", "PDMAP8_fun", "$@66",
"DFDISTRIBUTE4_fun", "$@67", "PARTITION_fun", "$@68", "PARTITIONF_fun",
"$@69", "AREDUCE_fun", "$@70", "AREDUCE2_fun", "$@71", "AREDUCE2F_fun",
"$@72", "DPRODUCT_fun", "$@73", "DDISTRIBUTE_fun", "$@74",
"DFDISTRIBUTE_fun", "$@75", "PARTITION8LOCAL_fun", "$@76",
"PARTITIONF8_fun", "$@77", "LOOPJOINREL_fun", "$@78", "CONSTGRAPH_fun",
"$@79", "CONSTGRAPHPOINTS_fun", "$@80", "EXISTS_fun", "$@81",
"FORALL_fun", "$@82", "PARAJOIN_fun", "$@83", "HADOOPJOIN_fun", "$@84",
"MUPDATE_fun", "MUPDATE_fun_1", "$@85", "MUPDATE_funlist",
"MUPDATE_funlist_1", "MUPDATESAVE_fun", "MUPDATESAVE_fun_1", "$@86",
"MUPDATESAVE_funlist", "MUPDATESAVE_funlist_1", "MUPDATEBYID_fun",
"MUPDATEBYID_fun_1", "$@87", "MUPDATEBYID_funlist",
"MUPDATEBYID_funlist_1", "MUPDATEDIRECT2_fun", "MUPDATEDIRECT2_fun_1",
"$@88", "MUPDATEDIRECT2_funlist", "MUPDATEDIRECT2_funlist_1",
"MOSHORTESTPATHD_fun", "$@89", "MOSHORTESTPATHA_fun", "$@90",
"MGSHORTESTPATHD_fun", "$@91", "MGSHORTESTPATHA_fun", "$@92",
"MPQREORDER_fun", "$@93", "MPQREORDERUPDATE_fun", "$@94",
"CREATEMGRAPH2_fun", "$@95", "CREATEMGRAPH2FLOB_fun", "$@96",
"MG2INSERTORIG_fun", "$@97", "MEMGROUPBY_fun", "MEMGROUPBY_fun_1",
"$@98", "MEMGROUPBY_funlist", "MEMGROUPBY_funlist_1", "PUSE_fun", "$@99",
"PJOIN2_fun", "PJOIN2_fun_1", "$@100", "PJOIN2_funlist",
"PJOIN2_funlist_1", "PJOIN1_fun", "PJOIN1_fun_1", "$@101",
"PJOIN1_funlist", "PJOIN1_funlist_1", "SORTARRAY_fun", "$@102",
"TIE_fun", "$@103", "CUMULATE_fun", "$@104", "LOOP_fun", "$@105",
"LOOPA_fun", "$@106", "LOOPB_fun", "$@107", "LOOPSWITCH_fun",
"LOOPSWITCH_fun_1", "$@108", "LOOPSWITCH_funlist",
"LOOPSWITCH_funlist_1", "LOOPSWITCHA_fun", "LOOPSWITCHA_fun_1", "$@109",
"LOOPSWITCHA_funlist", "LOOPSWITCHA_funlist_1", "LOOPSWITCHB_fun",
"LOOPSWITCHB_fun_1", "$@110", "LOOPSWITCHB_funlist",
"LOOPSWITCHB_funlist_1", "LOOPSELECT_fun", "LOOPSELECT_fun_1", "$@111",
"LOOPSELECT_funlist", "LOOPSELECT_funlist_1", "LOOPSELECTA_fun",
"LOOPSELECTA_fun_1", "$@112", "LOOPSELECTA_funlist",
"LOOPSELECTA_funlist_1", "LOOPSELECTB_fun", "LOOPSELECTB_fun_1", "$@113",
"LOOPSELECTB_funlist", "LOOPSELECTB_funlist_1", "PARTJOIN_fun", "$@114",
"PARTJOINSWITCH_fun", "PARTJOINSWITCH_fun_1", "$@115",
"PARTJOINSWITCH_funlist", "PARTJOINSWITCH_funlist_1",
"PARTJOINSELECT_fun", "PARTJOINSELECT_fun_1", "$@116",
"PARTJOINSELECT_funlist", "PARTJOINSELECT_funlist_1", "EXTEND_fun",
"EXTEND_fun_1", "$@117", "EXTEND_funlist", "EXTEND_funlist_1",
"PARAJOIN2_fun", "$@118", "DRELFILTER_fun", "$@119", "DRELEXTEND_fun",
"DRELEXTEND_fun_1", "$@120", "DRELEXTEND_funlist",
"DRELEXTEND_funlist_1", "DRELPROJECTEXTEND_fun",
"DRELPROJECTEXTEND_fun_1", "$@121", "DRELPROJECTEXTEND_funlist",
"DRELPROJECTEXTEND_funlist_1", "DRELLGROUPBY_fun", "DRELLGROUPBY_fun_1",
"$@122", "DRELLGROUPBY_funlist", "DRELLGROUPBY_funlist_1",
"DRELGROUPBY_fun", "DRELGROUPBY_fun_1", "$@123", "DRELGROUPBY_funlist",
"DRELGROUPBY_funlist_1", "DRELUPDATE_fun", "DRELUPDATE_fun_1", "$@124",
"DRELUPDATE_funlist", "DRELUPDATE_funlist_1", "DRELUPDATEBYID_fun",
"DRELUPDATEBYID_fun_1", "$@125", "DRELUPDATEBYID_funlist",
"DRELUPDATEBYID_funlist_1", "DRELFILTERADDID_fun", "$@126",
"DRELFILTERDELETE_fun", "$@127", "DRELFILTERUPDATE_fun",
"DRELFILTERUPDATE_fun_1", "$@128", "DRELFILTERUPDATE_funlist",
"DRELFILTERUPDATE_funlist_1", "DBSCANF_fun", "$@129", "DBSCANTF_fun",
"$@130", "PFILTERS_fun", "$@131", "PEXTEND_fun", "PEXTEND_fun_1",
"$@132", "PEXTEND_funlist", "PEXTEND_funlist_1", "PEXTENDSTREAM_fun",
"PEXTENDSTREAM_fun_1", "$@133", "PEXTENDSTREAM_funlist",
"PEXTENDSTREAM_funlist_1", "PLOOPSEL_fun", "$@134", "PLOOPJOIN_fun",
"$@135", "PAGGREGATE_fun", "$@136", "PAGGREGATEB_fun", "$@137",
"AGGREGATES_fun", "$@138", "USE_fun", "$@139", "USE2_fun", "$@140",
"TS_fun", "TS_fun_1", "$@141", "TS_funlist", "TS_funlist_1", "AS_fun",
"$@142", "streamfun_fun", "$@143", "prog_fun", "$@144", "SYNC_fun",
"$@145", "SideEffect_fun", "$@146", "OSHORTESTPATHD_fun", "$@147",
"OSHORTESTPATHA_fun", "$@148", "READ2_fun", "$@149", "READ3_fun",
"$@150", "RDERIVE_fun", "$@151", "READ3_1_fun", "$@152", "READ3_2_fun",
"$@153", "FILTERX_fun", "$@154", "UPDATESEARCH_fun",
"UPDATESEARCH_fun_1", "$@155", "UPDATESEARCH_funlist",
"UPDATESEARCH_funlist_1", "UPDATEDIRECT_fun", "UPDATEDIRECT_fun_1",
"$@156", "UPDATEDIRECT_funlist", "UPDATEDIRECT_funlist_1",
"UPDATEDIRECT2_fun", "UPDATEDIRECT2_fun_1", "$@157",
"UPDATEDIRECT2_funlist", "UPDATEDIRECT2_funlist_1", "UPDATEBYID2_fun",
"UPDATEBYID2_fun_1", "$@158", "UPDATEBYID2_funlist",
"UPDATEBYID2_funlist_1", "UPDATESEARCHSAVE_fun",
"UPDATESEARCHSAVE_fun_1", "$@159", "UPDATESEARCHSAVE_funlist",
"UPDATESEARCHSAVE_funlist_1", "UPDATEDIRECTSAVE_fun",
"UPDATEDIRECTSAVE_fun_1", "$@160", "UPDATEDIRECTSAVE_funlist",
"UPDATEDIRECTSAVE_funlist_1", "UPDATEBYID_fun", "UPDATEBYID_fun_1",
"$@161", "UPDATEBYID_funlist", "UPDATEBYID_funlist_1",
"FILTERINSERT_fun", "$@162", "CPROJECTEXTEND_fun",
"CPROJECTEXTEND_fun_1", "$@163", "CPROJECTEXTEND_funlist",
"CPROJECTEXTEND_funlist_1", "MAP_fun", "$@164", "MAP2_fun", "$@165",
"MATCHGRID_fun", "$@166", "REPLACEELEM_fun", "$@167", "GROUPBY2_fun",
"GROUPBY2_fun_1", "$@168", "GROUPBY2_funlist", "GROUPBY2_funlist_1",
"HADOOPMAP_fun", "$@169", "HADOOPREDUCE_fun", "$@170",
"HADOOPREDUCE2_fun", "$@171", "HADOOPMAP2_fun", "$@172", "GPATTERN_fun",
"$@173", "CROSSPATTERN_fun", "$@174", "MTHREADEDFILTER_fun", "$@175",
"CANCEL_fun", "$@176", "PROJECTEXTEND_fun", "PROJECTEXTEND_fun_1",
"$@177", "PROJECTEXTEND_funlist", "PROJECTEXTEND_funlist_1",
"EXTENDSTREAM_fun", "EXTENDSTREAM_fun_1", "$@178",
"EXTENDSTREAM_funlist", "EXTENDSTREAM_funlist_1",
"PROJECTEXTENDSTREAM_fun", "PROJECTEXTENDSTREAM_fun_1", "$@179",
"PROJECTEXTENDSTREAM_funlist", "PROJECTEXTENDSTREAM_funlist_1",
"GROUPBY_fun", "GROUPBY_fun_1", "$@180", "GROUPBY_funlist",
"GROUPBY_funlist_1", "SLIDINGWINDOW_fun", "SLIDINGWINDOW_fun_1", "$@181",
"SLIDINGWINDOW_funlist", "SLIDINGWINDOW_funlist_1", "LOOPJOIN_fun",
"$@182", "LOOPSEL_fun", "$@183", "AGGREGATE_fun", "$@184",
"AGGREGATEB_fun", "$@185", "SYMMJOIN_fun", "$@186", "SYMMOUTERJOIN_fun",
"$@187", "SYMMPRODUCTEXTEND_fun", "SYMMPRODUCTEXTEND_fun_1", "$@188",
"SYMMPRODUCTEXTEND_funlist", "SYMMPRODUCTEXTEND_funlist_1",
"EXTEND_LAST_fun", "EXTEND_LAST_fun_1", "$@189", "EXTEND_LAST_funlist",
"EXTEND_LAST_funlist_1", "EXTEND_NEXT_fun", "EXTEND_NEXT_fun_1", "$@190",
"EXTEND_NEXT_funlist", "EXTEND_NEXT_funlist_1", "REPLACEATTR_fun",
"REPLACEATTR_fun_1", "$@191", "REPLACEATTR_funlist",
"REPLACEATTR_funlist_1", "PFILTER_fun", "$@192", "EXTENDX_fun", "$@193",
"ADDMODCOUNTER_fun", "$@194", "USEHISTOGRAM_fun", "$@195",
"USEHISTOGRAM2_fun", "$@196", "DMAPS_fun", "$@197", "DMAPS2_fun",
"$@198", "DMAPS3_fun", "$@199", "DMAPS4_fun", "$@200", "DMAPS5_fun",
"$@201", "DPRODUCTS_fun", "$@202", "PARTITIONFS_fun", "$@203",
"DBSCAN_fun", "$@204", "REGISTERFORSTREAM_fun", "$@205",
"PREDCOUNTS_fun", "PREDCOUNTS_fun_1", "$@206", "PREDCOUNTS_funlist",
"PREDCOUNTS_funlist_1", "STPATTERNEXTEND_fun", "STPATTERNEXTEND_fun_1",
"$@207", "STPATTERNEXTEND_funlist", "STPATTERNEXTEND_funlist_1",
"STPATTERNEXTEND2_fun", "STPATTERNEXTEND2_fun_1", "$@208",
"STPATTERNEXTEND2_funlist", "STPATTERNEXTEND2_funlist_1",
"STPATTERNEXEXTEND_fun", "STPATTERNEXEXTEND_fun_1", "$@209",
"STPATTERNEXEXTEND_funlist", "STPATTERNEXEXTEND_funlist_1",
"STPATTERNEXEXTEND2_fun", "STPATTERNEXEXTEND2_fun_1", "$@210",
"STPATTERNEXEXTEND2_funlist", "STPATTERNEXEXTEND2_funlist_1",
"STPATTERNEXTENDSTREAM_fun", "STPATTERNEXTENDSTREAM_fun_1", "$@211",
"STPATTERNEXTENDSTREAM_funlist", "STPATTERNEXTENDSTREAM_funlist_1",
"STPATTERNEXTENDSTREAM2_fun", "STPATTERNEXTENDSTREAM2_fun_1", "$@212",
"STPATTERNEXTENDSTREAM2_funlist", "STPATTERNEXTENDSTREAM2_funlist_1",
"STPATTERNEXEXTENDSTREAM_fun", "STPATTERNEXEXTENDSTREAM_fun_1", "$@213",
"STPATTERNEXEXTENDSTREAM_funlist", "STPATTERNEXEXTENDSTREAM_funlist_1",
"STPATTERNEXEXTENDSTREAM2_fun", "STPATTERNEXEXTENDSTREAM2_fun_1",
"$@214", "STPATTERNEXEXTENDSTREAM2_funlist",
"STPATTERNEXEXTENDSTREAM2_funlist_1", "REDUCE_fun", "$@215",
"TSMOTIFBFFUN_fun", "$@216", "TSDISTANCEFUN_fun", "$@217", YY_NULLPTR
};
static const char *
yysymbol_name (yysymbol_kind_t yysymbol)
{
return yytname[yysymbol];
}
#endif
#define YYPACT_NINF (-2280)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
#define YYTABLE_NINF (-44)
#define yytable_value_is_error(Yyn) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const int yypact[] =
{
3614, 62, 92, 24, 3, 94, 105, 85, 118, 143,
89, 141, 39, 51, 66, 1242, 1242, 3614, 620, 172,
-196, -2280, -2280, -2280, -2280, -2280, -2280, 157, 156, 158,
155, 160, 161, 96, 153, -2280, -2280, -2280, -2280, 131,
133, -2280, 181, 182, 183, 38, -2280, -2280, -2280, -2280,
-2280, 184, -2280, 159, 162, 163, 185, 152, -2280, -2280,
-2280, -2280, -2280, -2280, 187, -2280, -2280, -179, 17, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -178, -176, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, 1242, 154, -2280,
-2280, -2280, -2280, -2280, 10957, 11333, -2280, -40, -2280, -238,
-2280, 3565, 195, 1242, 1242, 1242, 1242, 196, 197, 198,
200, 38, -2280, -2280, -2280, -2280, -2280, -2280, -2280, 38,
-168, 38, 12, -2280, -167, -2280, 18, 18, 18, 175,
-2280, -2280, 241, -2280, -43, 253, 1788, 11709, 52, -2280,
-2280, -164, -169, -2280, 1242,112477, 1242, 1242, 3614, -2280,
-162, -161, -160, -159, -157, -156, -155, -154, -145, -144,
-143, -142, -141, -140, -139, -138, -137, -136, -135, -134,
-133, -132, -123, -120, -111, -107, -106, -105, -104, -103,
-102, -100, -99, -98, -97, -96, -94, -93, -92, -91,
-89, -88, -87, -85, -83, -82, -77, -76, -75, -73,
-70, -68, -58, -57, -56, -55, -46, -45, -41, -39,
-38, -37, -36, -35, -34, -33, -32, -30, -29, -28,
-26, -25, -24, -23, -22, -21, -20, -19, -18, -16,
-12, -11, -10, -9, -8, -7, -6, -5, -4, -3,
-1, 1, 2, 4, 5, 6, 7, 8, 9, 11,
14, 16, 19, 21, 23, 35, 37, 40, 54, 57,
59, 60, 61, 63, 64, 65, 67, 68, 69, 70,
81, 83, 87, 88, 114, 115, 120, 122, 123, 124,
125, 126, 127, 129, 137, 138, 139, 166, 167, 169,
174, 176, 186, 189, 190, 193, 199, 206, 207, 208,
215, 217, 223, 229, 233, 238, 240, 242, 243, 245,
246, 247, 248, 249, 254, 255, 257, 258, 262, 272,
275, 279, 281, 283, 284, 285, 286, 287, 289, 290,
292, 293, 296, 298, 299, 300, 302, 303, 304, 306,
308, 309, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 329, 41, 10581,
3614, -2280, 3614, -2280, -2280, 224,112477,112477,112477,112477,
222, 339, 237, -2280, -2280, -2280, 1242, -2280, -298, -2280,
-229, 38, -2280, -2280, -2280, -2280, -2280, 18, -292, 38,
1242, -2280, -279, -2280, -251,112477, -2280, -250, -2280, -2280,
-2280, -2280, -2280, -2280, 22, 27, 104, 29, -2280, -2280,
-2280, -2280, 241,112477, 10581,112477,112477, 93, 1242, 241,
241, 241, 241, 1242, 1242, 342, 342, 342, 342, 342,
342, 1242, 1242, 1242, 1242, 1242, 241, 241, 1242, 1242,
342, 342, 20, 241, 20, 241, 241, 342, 241, 342,
342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
342, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
1242, 342, 1242, 342, 1242, 1242, 241, 342, 342, 241,
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
241, 1242, 1242, 1242, 241, 241, 241, 1242, 1242, 241,
1242, 1242, 1242, 1242, 342, 342, 1242, 1242, 1242, 241,
342, 1242, 342, 342, 342, 342, 20, 20, 20, 342,
20, 241, 241, 241, 241, 241, 241, 342, 342, 20,
241, 241, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
1242, 1242, 342, 342, 20, 342, 342, 342, 342, 342,
241, 241, 241, 241, 1242, 1242, 342, 342, 1242, 342,
241, 1242, 342, 241, 342, 1242, 342, 241, 241, 241,
241, 241, 241, 241, 241, 241, 342, 342, 241, 342,
342, 241, 241, 20, 241, 241, 1242, 241, 342, 342,
1242, 1242, 1242, 1242, 241, 20, 20, 20, 342, 241,
241, 1242, 241, 1242, 1242, 342, 241, 20, 241, 241,
241, 241, 20, 20, 20, 20, 20, 20, 20, 20,
241, 241, 241, 342, 241, 1242, 43, -319, 15, 371,
330, -2280, 331, 332, 333, 334, 335, 338, 340, 341,
343, 344, 346, 347, 349, 350, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 364, 365, 367,
368, 369, 370, 372, 373, 374, 375, 376, 377, 378,
380, 381, 382, 383, 384, 385, 387, 388, 389, 391,
392, 10205, 379, -2280, 1242, 1242, 421, 1242, 12085, -2280,
38, -2280, -249, -2280, -2280, -2280, 12461, 1242, 442, -2280,
1242, -2280, 1242, -2280, -2280, -2280, -2280, 27, -2280, 27,
130, 130, 38, -2280, 3614, -2280, 50, -306, 164, 171,
165, 393, 12837, 13213, -2280, 151, 1242, -2280, 395, 1242,
-2280, 396, 1242, -2280, 394, 1242, -2280, 399, 1242, -2280,
400, 1242, 13589, 13965, 14341, 14717, 15093, 402, 403, 15469,
15845, -2280, 404, 1242, -2280, 406, 1242, -2280, 342, -2280,
328, 1242, 408, 410, 204, -2280, 342, -2280, 465, 1242,
409, 411, 422, 414, -2280, 417, 1242, 418, -2280, 420,
1242, -2280, 423, 1242, -2280, 424, 1242, -2280, 425, 1242,
-2280, 427, 1242, -2280, 428, 1242, -2280, 429, 1242, -2280,
430, 1242, -2280, 431, 1242, -2280, 432, 1242, -2280, 433,
1242, -2280, 435, 1242, 16221, 16597, 16973, 17349, 17725, 18101,
18477, 18853, 19229, 19605, -2280, 436, 1242, 19981, -2280, 438,
1242, 20357, 20733, 440, -2280, 441, 1242, -2280, 443, 1242,
437, 449, 451, 453, 454, 456, 450, 458, 452, 455,
457, 460, 21109, 21485, 21861, 461, 459, 462, 22237, 22613,
463, 22989, 23365, 23741, 24117, -2280, 464, 1242, -2280, 466,
1242, 24493, 24869, 25245, 467, -2280, 468, 1242, 25621, -2280,
469, 1242, -2280, 470, 1242, -2280, 471, 1242, -2280, 472,
1242, -2280, 342, -2280, 497, 1242, 473, 474, -2280, 342,
-2280, 734, 1242, 481, 476, -2280, 342, -2280, 739, 1242,
478, 479, -2280, 482, 1242, -2280, 342, -2280, 767, 1242,
483, 480, 491, 485, 487, 495, 496, 498, -2280, 492,
1242, -2280, 494, 1242, -2280, 342, 502, 769, 1242, 500,
501, 25997, 26373, 26749, 27125, 27501, 27877, 28253, 28629, 29005,
29381, -2280, 504, 1242, -2280, 503, 1242, -2280, 342, -2280,
772, 1242, 505, 506, -2280, 508, 1242, -2280, 509, 1242,
-2280, 512, 1242, -2280, 514, 1242, -2280, 510, 1242, 516,
517, 519, 513, 29757, 30133, -2280, 520, 1242, -2280, 521,
1242, 30509, -2280, 525, 1242, 526, 30885, -2280, 528, 1242,
534, -2280, 530, 1242, 31261, -2280, 531, 1242, 539, 540,
535, 541, 543, 544, 545, 547, 548, -2280, 542, 1242,
-2280, 550, 1242, 546, -2280, 549, 1242, -2280, 552, 1242,
553, 551, -2280, 342, -2280, 776, 1242, 554, 555, 562,
564, 31637, 558, -2280, 559, 1242, -2280, 560, 1242, 32013,
32389, 32765, 33141, 571, -2280, 342, -2280, 777, 1242, 566,
567, -2280, 342, -2280, 809, 1242, 569, 570, -2280, 342,
-2280, 813, 1242, 572, 573, -2280, 576, 1242, 574, 577,
33517, 580, 33893, 34269, -2280, 578, 1242, 590, -2280, 342,
-2280, 856, 1242, 586, 588, 597, 598, 599, 600, -2280,
342, -2280, 859, 1242, 601, 594, -2280, 342, -2280, 908,
1242, 605, 603, -2280, 342, -2280, 911, 1242, 608, 604,
-2280, 342, -2280, 913, 1242, 613, 606, -2280, 342, -2280,
920, 1242, 617, 610, -2280, 342, -2280, 924, 1242, 624,
618, -2280, 342, -2280, 929, 1242, 627, 621, -2280, 342,
-2280, 932, 1242, 630, 623, 632, 626, 629, -2280, 631,
1242, 633, 34645, -2280, -2280, 146, 148, 635, 1242, 1242,
1242, 342, 241, 342, 1242, 1242, 1242, 1242, 1242, 1242,
1242, 1242, 1242, 1242, 20, 1242, 342, 342, 20, 20,
20, 20, 342, 20, 20, 1242, 20, 1242, 342, 342,
241, 20, 20, 1242, 1242, 342, 241, 241, 1242, 342,
342, 20, 241, 241, 1242, 1242, 1242, 342, 628, 637,
638, -2280, 640, 641, 642, 643, 644, 9829, -2280,112477,
112477, -2280,112477, -2280, -2280, -2280, 1242, 35021, -2280,112477,
35397, -2280, -2280, 634, 646, -233, 961, 1242, -2280, 1242,
-2280, 1242, -2280, 1242, 1242, 1242,112477, 1242,112477, 1242,
112477, -2280,112477, -2280,112477, -2280,112477, 342, 342, 342,
342, 1242, -2280, -2280, 1242, 1242, 1242,112477, -2280,112477,
958, 1242,112477, -2280, 20, 20, 959, 1242,112477, -2280,
20, 20, -2280, -2280,112477, -2280, -2280,112477, 1242,112477,
342,112477, 342,112477, -2280,112477, 342,112477, -2280,112477,
342,112477, 342,112477, 342,112477, 342,112477, 342,112477,
342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
342,112477, 342, -2280,112477, 1242, 1242, -2280, -2280,112477,
-2280,112477, 241, 241, 241, 241, 241, 241, -2280, 241,
-2280, -2280, -2280, 1242, 20, 1242, 20, 241, -2280, -2280,
1242, 1242, -2280, 1242, 1242, 1242, 1242, -2280,112477, 1242,
112477, 1242, 1242, 1242, 20, -2280,112477, 241, -2280,112477,
-2280,112477, -2280,112477, -2280,112477, 960, 1242,112477, -2280,
20, 962, 1242,112477, 1242, 20, 963, 1242,112477, -2280,
20, -2280,112477, 964, 1242,112477, -2280, 20, 20, -2280,
-2280, 20, 20, 1242, -2280,112477, -2280,112477, 966, 20,
1242,112477, -2280, -2280, 1242, 1242, 1242, 1242, 1242, 1242,
1242, 1242, 1242, 1242, 1242,112477, -2280,112477, 967, 1242,
112477, -2280, 20, -2280,112477, -2280,112477, 1242,112477, 1242,
112477, -2280,112477, -2280, -2280, -2280, 241, 1242, 1242, -2280,
112477, -2280,112477, 342, -2280,112477, -2280, 20, 1242,112477,
20, -2280,112477, 342, -2280,112477, 20, 241, -2280, 342,
342, 241, 241, 241, 241, 342,112477, 342,112477, -2280,
-2280,112477, -2280,112477, -2280, 20, 969, 1242,112477, -2280,
20, 20, 20, 1242, -2280, -2280,112477, -2280,112477, 342,
342, 241, 241, 241, 970, 1242,112477, -2280, 20, 971,
1242,112477, -2280, 20, 972, 1242,112477, -2280, 20, -2280,
112477, 342, -2280, 1242, 342, 342, 342, 1242,112477, 1242,
973, 1242,112477, -2280, 20, 241, 241, 241, 241, 974,
1242,112477, 241, 20, 975, 1242,112477, 241, 20, 976,
1242,112477, 241, 20, 977, 1242,112477, 241, 20, 979,
1242,112477, 241, 20, 980, 1242,112477, 241, 20, 981,
1242,112477, 241, 20, 982, 1242,112477, 241, 20, 241,
-2280, -2280, 1242,112477, -2280, 1242, 655, 677, 678, 680,
-2280, -302, 35773, 36149, -2280, 676, 1242, 679, -2280, 682,
1242, 36525, 36901, 37277, 37653, 38029, 38405, 38781, 39157, 39533,
39909, -2280, 342, -2280, 988, 1242, 683, 684, 40285, -2280,
687, 1242, -2280, 689, 1242, -2280, 342, -2280, 989, 1242,
690, 691, -2280, 342, -2280, 991, 1242, 693, 695, -2280,
342, -2280, 995, 1242, 698, 696, -2280, 342, -2280, 1005,
1242, 705, 699, -2280, 702, 1242, -2280, 342, -2280, 1010,
1242, 703, 704, -2280, 342, -2280, 1015, 1242, 713, 706,
40661, -2280, 342, -2280, 1019, 1242, 716, 709, 41037, -2280,
711, 1242, -2280, 714, 1242, 715, -2280, 342, -2280, 1024,
1242, 717, 719, -2280, 342, -2280, 1027, 1242, 718, 720,
41413, 41789, -2280, 722, 1242, 730, 731, -282, -2280, 725,
1242, -2280, 727, 1242, -2280, 342, -2280, 1039, 1242, 729,
733, 732, 737, 42165, 42541, 42917, -2280, 735, 1242, 1242,
1242, 1242, 342, 342, 20, 20, 1242, 738, 740, 742,
743, 9453,112477, 1242, -2280, -2280, -2280, -2280, -2280, 745,
43293, 43669, 44045, 44421, 44797, 45173, 45549, -2280, 744, 1242,
-2280, 747, 1242, -2280, 748, 1242, -2280, 749, 1242, 45925,
46301, 46677, 47053, 1242,112477, -2280, -2280, 342, -2280, 1042,
1242, 736, 750, 1242,112477, -2280, -2280, 342, -2280, 1054,
1242, 746, 751, 47429, 753, 755, 763, 757, 758, 759,
761, 762, -2280, 764, 1242, -2280, 765, 1242, -2280, 768,
1242, -2280, 770, 1242, -2280, 766, 1242, -2280, 771, 1242,
-2280, 773, 1242, -2280, 774, 1242, -2280, 775, 1242, -2280,
779, 1242, 781, -2280, 792, 1242, 47805, 48181, 778, 780,
802, 803, 804, 805, 806, 48557, -2280, 342, -2280, 1055,
1242, 800, 801, 48933, -2280, 342, -2280, 1069, 1242, 807,
810, 808, 49309, 49685, 50061, 50437, 50813, 51189, 51565, 51941,
52317, 52693, -2280, 342, -2280, 1075, 1242, 814, 817, 819,
1242,112477, -2280, 1242,112477, 53069, -2280, 1242,112477, -2280,
1242,112477, -2280, -2280, 342, -2280, 1112, 1242, 820, 825,
-2280, 342, -2280, 1114, 1242, 827, 828, -2280, 342, -2280,
1116, 1242, 830, 831, 53445, 1242, -2280, 833, 834,112477,
53821, 54197, 54573, 54949, 55325, 55701, 56077, 56453, 56829, 57205,
57581, 1242,112477, -2280, 57957, 58333, 837, 58709, 59085, -2280,
838, 1242, -2280, 342, -2280, 1121, 1242, 839, 840, 59461,
-2280, 342, -2280, 1139, 1242, 842, 843, -2280, 845, 1242,
-2280, 342, -2280, 1142, 1242, 847, 848, 841, -2280, 850,
1242, -2280, 851, 1242, 852, 853, 854, 855, 858, 860,
-2280, 342, -2280, 1151, 1242, 857, 864, 1242,112477, -2280,
-2280, 342, -2280, 1154, 1242, 867, 876, -2280, 342, -2280,
1159, 1242, 881, 885, 59837, -2280, 889, 1242, -2280, 894,
1242, 888, 891, 892, 1242,112477, -2280, 1242,112477, -2280,
1242,112477, -2280, -2280, 896, 1242, 60213, -2280, 893, 1242,
-2280, 895, 1242, -2280, 897, 1242, 60589, 60965, 1242,112477,
-2280, 899, 900, 901, 904, 1242,112477, 902, -2280, 1242,
112477, 903, -2280, 1242,112477, 912, -2280, 1242,112477, 915,
-2280, 1242,112477, 906, -2280, 1242,112477, 909, -2280, 1242,
112477, 918, -2280, 1242,112477, 919, -2280, 914, 61341, 61717,
-2280, -2280, -2280, -2280, -2280, 1242, 1242, -2280,112477, -2280,
-2280,112477, 342, 342, 342, 342, 342, 342, 342, 1242,
20, 1242, 1212, 1242,112477, -2280, 20, 20, -2280,112477,
-2280,112477, 1215, 1242,112477, -2280, 20, 1224, 1242,112477,
-2280, 20, 1226, 1242,112477, 1242, 20, 1228, 1242,112477,
1242, 20, -2280,112477, 1229, 1242,112477, -2280, 20, 1231,
1242,112477, 1242, 20, 1242, 1233, 1242,112477, 1242, 20,
20, -2280,112477, -2280,112477, -2280, 1234, 1242,112477, -2280,
20, 1235, 1242,112477, -2280, 20, 20, 20, -2280,112477,
342, 342, -2280, -2280,112477, -2280,112477, 1236, 1242,112477,
-2280, 20, -2280, 342, 342, 342, 342, -2280,112477, 62093,
62469, -276, -2280, 926, 1242, -2280, 927, 1242, -2280, 342,
-2280, 1239, 1242, 930, 928, -2280, 342, -2280, 1243, 1242,
931, 941, 62845, 1242, 1242, 1242, 1242, 934, 944, 947,
9077,112477, -2280, 1242, 1242, 1242, 1242, 1242, -2280, 1242,
112477, 342,112477, 1242,112477, 1242,112477, 1242, 1242, 342,
-2280,112477, 1258, 1242,112477, -2280, 20,112477, 1259, 1242,
112477, -2280, 20, 1242, -2280, -2280, 1242, -2280, 342, 342,
342, 342, 1242,112477, 1242,112477, -2280,112477, -2280,112477,
1242,112477, 1242,112477, 342,112477, 1242,112477, 342,112477,
342,112477, 1242, 342,112477, 342, 342, 241, 241, 241,
241, 241, 241, 241, -2280, 1260, 1242,112477, -2280, 20,
20, 1261, 1242,112477, -2280, 20, -2280, 1242, 1242, 1242,
1242, 1242, 241, -2280, 342, 342, 342, 1268, 1242,112477,
-2280, 20, -2280,112477,112477, 1242,112477,112477, 1270, 1242,
112477, -2280, 20, 1271, 1242,112477, -2280, 20, 1272, 1242,
112477, -2280, 20, -2280,112477, -2280, 20, 1242, 1242, 1242,
1242, 1242, 1242, 1242, 1242, 1242, 241, -2280,112477, -2280,
1242, -2280, 1242, 1242, -2280,112477, 1274, 1242,112477, -2280,
20, -2280, 1276, 1242,112477, -2280, 20, 1242,112477, 1278,
1242,112477, -2280, 20, 241, -2280,112477, -2280,112477, -2280,
-2280, -2280, -2280, 1242, 342, 1279, 1242,112477, -2280, 20,
112477, 1282, 1242,112477, -2280, 20, 1287, 1242,112477, -2280,
20, 20, 1242,112477, 1242,112477, -2280, -2280, -2280,112477,
112477,112477, 1242,112477, 342, -2280,112477, -2280,112477, 342,
112477, 1242, -2280,112477, -2280, -2280, 1242, 1242,112477, -2280,
112477, -2280,112477, 20,112477, 20,112477, -2280,112477, -2280,
112477, 20,112477, 20, -2280, -2280, 342, 63221, 63597, -2280,
983, 1242, -2280, 984, 1242, -2280, 978, 1242, -2280, 986,
1242, -2280, 987, 1242, -2280, 990, 1242, -2280, 992, 1242,
63973, -2280, 342, -2280, 1288, 1242, 985, 993, 64349, 1242,
112477, -2280, -2280, 342, -2280, 1300, 1242, 997, 994, 1242,
112477, -2280, 1242,112477, -2280, 1242,112477, 64725, -2280, 1242,
112477, 65101, -2280, 1242,112477, -2280, 1242,112477, 65477, -2280,
65853, 1242,112477, 66229, -2280, -2280, 342, -2280, 1301, 1242,
999, 998, 1242,112477, -2280, 1242,112477, -2280, -2280, 342,
-2280, 1309, 1242, 1000, 1001, -2280, 342, -2280, 1315, 1242,
1007, 1004, -2280, 1008, 1242, -2280, 1009, 1242, 1242,112477,
-2280, -2280, 1011, 1242, -2280, 1012, 1242, -2280, 1014, 1242,
-2280, 1016, 1242, 342, 342, -2280, -2280,112477, -2280,112477,
1321, 1242,112477, -2280, 20, 1326, 1242,112477, -2280, 20,
342, 66605, 66981, -260, 67357, 1242, 1242, 1242, 1018, 1020,
1021, 8701, 67733, 68109, 68485, 68861, 69237, 69613, 1017, 69989,
70365, 70741, 71117, -2280, 1023, 1242, 1242,112477, -2280, 1242,
112477, -2280, 71493, 71869, 1025, 1026, 1029, 1030, 72245, 72621,
72997, 73373, 1031, 73749, 1043, 1044, 74125, 1045, -2280, 1028,
1242, -2280, 1046, 1242, 1049, 1050, 1033, 1051, 1052, 1053,
1061, 1242,112477, -2280, -2280, 342, -2280, 1332, 1242, 1057,
1058, 1242,112477, -2280, 74501, 74877, 75253, 75629, 76005, 1060,
-2280, 1062, 1242, -2280, 1063, 1242, -2280, 1067, 1242, 1242,
112477, -2280, 76381, 1242,112477, -2280, 1242,112477, -2280, 1242,
112477, -2280, -2280, 76757, 77133, 77509, 77885, 78261, 78637, 79013,
79389, 79765, 1064, 80141, 80517, 80893, 1242,112477, -2280, 1242,
112477, -2280, 81269, 1242,112477, -2280, 1070, 81645, 1068, 1242,
112477, -2280, 1242,112477, -2280, 1242,112477, -2280, -2280, 342,
-2280, 1335, 1242, 1071, 1072, 82021, 82397, 82773, -2280, 1073,
1242, 1074, 83149, 83525, 83901, 1076, 1078, 1079, 1080, -2280,
1081, 1242, 1242, 1242, -2280,112477, -2280,112477, 1242,112477,
1242,112477, 1242,112477, 1242,112477, 1242,112477, 1242, 1366,
1242,112477, -2280, 20, 241,112477, 1372, 1242,112477, -2280,
20,112477,112477,112477, 1242,112477, 1242,112477,112477, 1242,
342,112477, -2280, 1383, 1242,112477, 1242, 20,112477,112477,
1393, 1242,112477, -2280, 20, 1394, 1242,112477, -2280, 20,
-2280,112477, -2280,112477,112477, -2280,112477, -2280,112477, -2280,
112477, -2280,112477, -2280, 1083, 1242, -2280, 1084, 1242, 1242,
112477, -2280, 1242,112477, -2280, -2280, 1087, 1242, 342, 342,
-2280, 342, 84277, 84653, 85029, 1242, 1242, 1242, 1089, 1090,
8325, 1242, 342, 342, -2280, -2280, 342, 1242, 1242, 1242,
241, 342, -2280,112477,112477,112477, 1242, -2280, -2280, 342,
342, 342, 1242, 1242, 1242, -2280, 1242, -2280, 1242, 1242,
1242, 342, -2280,112477, 1242,112477, -2280, -2280, 241, -2280,
-2280, -2280, 241,112477, 1405, 1242,112477, -2280, 20,112477,
342, 342, 342, 342, 241, -2280, -2280,112477, -2280,112477,
1242,112477,112477, -2280,112477,112477,112477, 1242, 342, 342,
20, 20, 342, 342, 342, 342, -2280, -2280, 342, 342,
112477,112477, -2280,112477, -2280, 1242, 1242,112477,112477,112477,
1406, 1242,112477, -2280, 20, -2280, -2280, -2280, 342,112477,
1242, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,112477,
85405, 85781, 86157, 86533, 86909, 87285, 87661, 88037, 1242,112477,
-2280, 1096, 1242,112477, -2280, 88413, 88789, 89165, -2280, 1097,
1242, 1242,112477, 89541, -2280, 1242,112477, -2280, 1242,112477,
-2280, 1242,112477, 1242,112477,112477,112477, -2280,112477, -2280,
1098, 1242, -2280, 1099, 1242, -2280, 1101, 1242, 342, 342,
342, 89917, 90293, -258, 1242, 1242, 1103, 1104, 6851, 90669,
-2280, 1106, 1242, -2280, 1107, 1242, 1105, 91045, 91421, 91797,
1109, -2280, 1110, 1242, 92173, 1111, 1113, 1115, 92549, 92925,
93301, 93677, 94053, 94429, 94805, 1117, 95181, 1119, 1123, 1242,
112477, -2280, -2280, 1125, 1242, -2280, 1126, 1242, -2280, 1128,
1242, -2280, 1129, 1242, 1131, 95557, 95933, -2280, 1132, 1242,
-2280, 1133, 1242, -2280, 342, -2280, 1409, 1242, 1135, 1136,
-2280, 342, -2280, 1415, 1242, 1138, 1140, -2280, 1143, 1242,
-2280, 1144, 1242, -2280, 1120, 1242, -2280, 1122, 1242, -2280,
1145, 1242, -2280, 1146, 1242, 96309, 96685, 1242,112477, -2280,
1149, 97061, 1242, 342, -2280, -2280, -2280, 1242, -2280, 1242,
112477, -2280,112477, -2280, -2280, -2280, -2280,112477,112477, -2280,
112477,112477, 97437, 97813, 1242,112477, 1242,112477, -2280,112477,
-2280, 1150, 1242, -2280, 1152, 1242, -2280, 1158, 1242, 342,
342, -2280, 98189, 98565, 1242, 1242, 1118, -2280, 1242,112477,
1242,112477, -2280, 342, -2280, -2280, -2280, -2280,112477, -2280,
-2280, 342, 342, -2280, -2280, -2280, -2280, 1242, 1242, 1242,
1242, 1242, -2280, -2280,112477, -2280,112477, 342,112477, -2280,
112477, 342,112477, -2280, -2280, 342, -2280,112477, -2280,112477,
1437, 1242,112477, -2280, 20, 1447, 1242,112477, -2280, 20,
-2280,112477, -2280,112477, 1242,112477, 1242,112477, -2280,112477,
342,112477, 1242, 1242,112477, -2280, -2280, 98941, -2280, 1161,
1242, 99317, 99693, -2280, -2280,100069,100445, 1242,112477, 1242,
112477, -2280,112477, -2280, 1162, 1242, -2280, 1164, 1242, 342,
342,100821,101197, 1242,101573,101949, 1160, 1167, 1169,102325,
102701,103077,103453,103829, 1168, 1172, -2280, 1173, 1242, 1242,
112477, -2280, 1242,112477, -2280,104205,104581, 1175,104957,105333,
342, 1242,112477, -2280, 241, -2280, -2280,105709,106085, 1242,
112477, 1242,112477, -2280, 1176, 1242, -2280, 1177, 1242, 342,
342,106461, 1242, -2280, -2280, -2280, 342, 1242, 1242, 1242,
1242, -2280, -2280, -2280, -2280,112477,112477,112477, -2280, -2280,
-2280, -2280, 1242, -2280, 1180, 1242,106837, 1147, -2280, -2280,
107213,107589, 1242,112477, 1242,112477, -2280, 1181, 1242, -2280,
1182, 1242, 342,107965, 1185,108341,108717,109093,109469,109845,
-2280,112477, -2280, 342, -2280, -2280,110221,110597, 1242,112477,
1242,112477, -2280, 1186, 1242, -2280, -2280, -2280, -2280, 1242,
-2280, -2280, -2280, 1188, 1242, -2280, -2280,110973,111349, 1242,
112477,111725, -2280,112477, -2280, -2280,112101, -2280, -2280
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
static const yytype_int16 yydefact[] =
{
27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 27, 27, 0,
2, 12, 11, 14, 15, 10, 5, 0, 0, 0,
0, 0, 0, 0, 0, 6, 7, 8, 9, 0,
0, 30, 0, 0, 0, 0, 29, 45, 46, 47,
48, 0, 52, 0, 0, 0, 0, 0, 59, 63,
64, 65, 66, 60, 0, 94, 95, 124, 0, 96,
97, 98, 100, 144, 145, 136, 99, 0, 0, 135,
137, 138, 139, 140, 141, 142, 143, 0, 112, 134,
126, 128, 129, 125, 0, 0, 21, 0, 17, 0,
1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 25, 50, 49, 79, 82, 80, 81, 0,
0, 0, 0, 26, 68, 51, 0, 0, 0, 0,
62, 61, 112, 88, 0, 0, 0, 0, 0, 118,
117, 0, 111, 113, 0, 115, 0, 0, 27, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
27, 18, 27, 16, 4, 0, 32, 34, 36, 38,
0, 0, 0, 67, 24, 73, 0, 83, 0, 72,
0, 0, 57, 58, 54, 53, 56, 0, 0, 0,
0, 92, 0, 157, 0, 119, 158, 0, 130, 79,
82, 80, 81, 108, 0, 0, 0, 75, 106, 77,
101, 133, 0, 85, 116, 153, 154, 0, 122, 112,
112, 112, 112, 0, 0, 455, 458, 461, 464, 467,
473, 0, 0, 0, 0, 0, 112, 112, 0, 0,
494, 497, 504, 112, 524, 112, 112, 540, 112, 543,
546, 549, 552, 555, 561, 564, 567, 570, 573, 576,
579, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 672, 0, 678, 0, 0, 112, 687, 690, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 0, 0, 0, 112, 112, 112, 0, 0, 112,
0, 0, 0, 0, 751, 754, 0, 0, 0, 112,
776, 0, 799, 802, 805, 808, 821, 851, 904, 913,
920, 112, 112, 112, 112, 112, 112, 976, 979, 986,
112, 112, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1033, 1036, 1046, 1052, 1055, 1058, 1061, 1064,
112, 112, 112, 112, 0, 0, 1073, 1076, 0, 1088,
112, 0, 1161, 112, 1174, 0, 1183, 112, 112, 112,
112, 112, 112, 112, 112, 112, 1208, 1211, 112, 1214,
1217, 112, 112, 1234, 112, 112, 0, 112, 1270, 1273,
0, 0, 0, 0, 112, 1302, 1312, 1322, 1328, 112,
112, 0, 112, 0, 0, 1364, 112, 1374, 112, 112,
112, 112, 1384, 1394, 1404, 1414, 1424, 1434, 1444, 1454,
112, 112, 112, 1460, 112, 0, 0, 0, 0, 0,
0, 163, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 20, 0, 0, 0, 0, 0, 70,
0, 71, 0, 55, 127, 91, 87, 0, 0, 155,
0, 156, 0, 107, 109, 110, 103, 0, 102, 0,
0, 0, 0, 114, 27, 23, 121, 0, 0, 0,
0, 0, 0, 0, 457, 0, 0, 460, 0, 0,
463, 0, 0, 466, 0, 0, 469, 0, 0, 475,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 496, 0, 0, 499, 0, 0, 506, 504, 508,
502, 0, 0, 507, 0, 526, 524, 528, 522, 0,
0, 527, 0, 0, 542, 0, 0, 0, 545, 0,
0, 548, 0, 0, 551, 0, 0, 554, 0, 0,
557, 0, 0, 563, 0, 0, 566, 0, 0, 569,
0, 0, 572, 0, 0, 575, 0, 0, 578, 0,
0, 581, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 674, 0, 0, 0, 680, 0,
0, 0, 0, 0, 689, 0, 0, 692, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 753, 0, 0, 756, 0,
0, 0, 0, 0, 0, 778, 0, 0, 0, 801,
0, 0, 804, 0, 0, 807, 0, 0, 810, 0,
0, 823, 821, 825, 819, 0, 0, 824, 853, 851,
855, 849, 0, 0, 854, 906, 904, 908, 902, 0,
0, 907, 915, 0, 0, 922, 920, 924, 918, 0,
0, 923, 0, 0, 0, 0, 0, 0, 978, 0,
0, 981, 0, 0, 988, 986, 0, 984, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1035, 0, 0, 1038, 0, 0, 1048, 1046, 1050,
1044, 0, 0, 1049, 1054, 0, 0, 1057, 0, 0,
1060, 0, 0, 1063, 0, 0, 1066, 0, 0, 0,
0, 0, 0, 0, 0, 1075, 0, 0, 1078, 0,
0, 0, 1090, 0, 0, 0, 0, 1163, 0, 0,
0, 1176, 0, 0, 0, 1185, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1210, 0, 0,
1213, 0, 0, 0, 1216, 0, 0, 1219, 0, 0,
0, 0, 1236, 1234, 1238, 1232, 0, 0, 1237, 0,
0, 0, 0, 1272, 0, 0, 1275, 0, 0, 0,
0, 0, 0, 0, 1304, 1302, 1306, 1300, 0, 0,
1305, 1314, 1312, 1316, 1310, 0, 0, 1315, 1324, 1322,
1326, 1320, 0, 0, 1325, 1330, 0, 0, 0, 0,
0, 0, 0, 0, 1366, 0, 0, 0, 1376, 1374,
1378, 1372, 0, 0, 1377, 0, 0, 0, 0, 1386,
1384, 1388, 1382, 0, 0, 1387, 1396, 1394, 1398, 1392,
0, 0, 1397, 1406, 1404, 1408, 1402, 0, 0, 1407,
1416, 1414, 1418, 1412, 0, 0, 1417, 1426, 1424, 1428,
1422, 0, 0, 1427, 1436, 1434, 1438, 1432, 0, 0,
1437, 1446, 1444, 1448, 1442, 0, 0, 1447, 1456, 1454,
1458, 1452, 0, 0, 1457, 0, 0, 0, 1462, 0,
0, 0, 0, 146, 147, 0, 0, 0, 122, 0,
0, 470, 112, 558, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 783, 0, 811, 814, 831, 841,
861, 871, 877, 884, 894, 0, 960, 0, 1039, 1082,
112, 1095, 1105, 0, 0, 1177, 112, 112, 122, 1282,
1285, 1292, 112, 112, 0, 0, 0, 1466, 0, 0,
0, 249, 0, 0, 0, 0, 0, 0, 13, 28,
40, 42, 44, 74, 84, 69, 0, 86, 93, 120,
0, 105, 104, 0, 0, 0, 0, 122, 160, 0,
164, 0, 166, 0, 0, 0, 456, 0, 459, 0,
462, 174, 465, 175, 468, 177, 474, 476, 479, 482,
485, 0, 183, 184, 0, 0, 0, 495, 188, 498,
500, 0, 505, 189, 504, 514, 520, 0, 525, 191,
524, 534, 193, 195, 541, 196, 197, 544, 0, 547,
549, 550, 552, 553, 201, 556, 561, 562, 204, 565,
567, 568, 570, 571, 573, 574, 576, 577, 579, 580,
582, 585, 588, 594, 645, 648, 651, 654, 666, 669,
672, 673, 675, 242, 679, 0, 0, 245, 247, 688,
248, 691, 112, 112, 112, 112, 112, 112, 258, 112,
260, 261, 262, 0, 703, 0, 723, 112, 269, 270,
0, 0, 273, 0, 0, 0, 0, 278, 752, 0,
755, 0, 0, 0, 770, 285, 777, 112, 289, 800,
290, 803, 291, 806, 292, 809, 817, 0, 822, 295,
821, 847, 0, 852, 0, 851, 900, 0, 905, 304,
904, 306, 914, 916, 0, 921, 307, 920, 930, 309,
310, 940, 950, 0, 316, 977, 317, 980, 982, 986,
0, 987, 319, 320, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1034, 334, 1037, 1042, 0,
1047, 336, 1046, 337, 1053, 338, 1056, 0, 1059, 0,
1062, 341, 1065, 342, 343, 344, 112, 0, 0, 348,
1074, 349, 1077, 1079, 353, 1089, 354, 1155, 0, 1162,
1168, 365, 1175, 1180, 368, 1184, 1190, 112, 371, 1196,
1199, 112, 112, 112, 112, 1208, 1209, 1211, 1212, 382,
383, 1215, 384, 1218, 385, 1224, 1230, 0, 1235, 387,
1234, 1244, 1254, 0, 391, 393, 1271, 394, 1274, 1276,
1279, 112, 112, 112, 1298, 0, 1303, 403, 1302, 1308,
0, 1313, 404, 1312, 1318, 0, 1323, 405, 1322, 406,
1329, 1331, 409, 0, 1337, 1343, 1361, 0, 1365, 0,
1370, 0, 1375, 423, 1374, 112, 112, 112, 112, 1380,
0, 1385, 112, 1384, 1390, 0, 1395, 112, 1394, 1400,
0, 1405, 112, 1404, 1410, 0, 1415, 112, 1414, 1420,
0, 1425, 112, 1424, 1430, 0, 1435, 112, 1434, 1440,
0, 1445, 112, 1444, 1450, 0, 1455, 112, 1454, 112,
437, 438, 0, 1461, 440, 0, 0, 0, 0, 0,
152, 0, 0, 0, 472, 0, 0, 0, 560, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 785, 783, 787, 781, 0, 0, 786, 0, 813,
0, 0, 816, 0, 0, 833, 831, 835, 829, 0,
0, 834, 843, 841, 845, 839, 0, 0, 844, 863,
861, 865, 859, 0, 0, 864, 873, 871, 875, 869,
0, 0, 874, 879, 0, 0, 886, 884, 888, 882,
0, 0, 887, 896, 894, 898, 892, 0, 0, 897,
0, 962, 960, 964, 958, 0, 0, 963, 0, 1041,
0, 0, 1084, 0, 0, 0, 1097, 1095, 1099, 1093,
0, 0, 1098, 1107, 1105, 1109, 1103, 0, 0, 1108,
0, 0, 1179, 0, 0, 0, 0, 0, 1284, 0,
0, 1287, 0, 0, 1294, 1292, 1296, 1290, 0, 0,
1295, 0, 0, 0, 0, 0, 1468, 0, 0, 0,
0, 122, 693, 1085, 1135, 1145, 0, 0, 0, 0,
0, 0, 90, 0, 78, 131, 132, 76, 22, 123,
0, 0, 0, 0, 0, 0, 0, 478, 0, 0,
481, 0, 0, 484, 0, 0, 487, 0, 0, 0,
0, 0, 0, 0, 503, 509, 516, 514, 518, 512,
0, 0, 517, 0, 523, 529, 536, 534, 538, 532,
0, 0, 537, 0, 0, 0, 0, 0, 0, 0,
0, 0, 584, 0, 0, 587, 0, 0, 590, 0,
0, 596, 0, 0, 647, 0, 0, 650, 0, 0,
653, 0, 0, 656, 0, 0, 668, 0, 0, 671,
0, 0, 0, 677, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 705, 703, 707, 701,
0, 0, 706, 0, 725, 723, 727, 721, 0, 0,
726, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 772, 770, 774, 768, 0, 0, 773, 0,
0, 820, 826, 0, 850, 0, 856, 0, 903, 909,
0, 919, 925, 932, 930, 934, 928, 0, 0, 933,
942, 940, 944, 938, 0, 0, 943, 952, 950, 954,
948, 0, 0, 953, 0, 0, 990, 0, 989, 985,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1045, 1051, 0, 0, 0, 0, 0, 1081,
0, 0, 1157, 1155, 1159, 1153, 0, 0, 1158, 0,
1170, 1168, 1172, 1166, 0, 0, 1171, 1182, 0, 0,
1192, 1190, 1194, 1188, 0, 0, 1193, 0, 1198, 0,
0, 1201, 0, 0, 0, 0, 0, 0, 0, 0,
1226, 1224, 1228, 1222, 0, 0, 1227, 0, 1233, 1239,
1246, 1244, 1248, 1242, 0, 0, 1247, 1256, 1254, 1258,
1252, 0, 0, 1257, 0, 1278, 0, 0, 1281, 0,
0, 0, 0, 0, 0, 1301, 1307, 0, 1311, 1317,
0, 1321, 1327, 1333, 0, 0, 0, 1339, 0, 0,
1345, 0, 0, 1363, 0, 0, 0, 0, 0, 1373,
1379, 0, 0, 0, 0, 0, 1383, 0, 1389, 0,
1393, 0, 1399, 0, 1403, 0, 1409, 0, 1413, 0,
1419, 0, 1423, 0, 1429, 0, 1433, 0, 1439, 0,
1443, 0, 1449, 0, 1453, 0, 1459, 0, 0, 0,
151, 150, 149, 148, 161, 0, 0, 176, 471, 194,
202, 559, 591, 597, 600, 603, 657, 660, 663, 0,
733, 0, 779, 0, 784, 286, 783, 793, 293, 812,
294, 815, 827, 0, 832, 296, 831, 837, 0, 842,
297, 841, 857, 0, 862, 0, 861, 867, 0, 872,
0, 871, 301, 878, 880, 0, 885, 302, 884, 890,
0, 895, 0, 894, 0, 956, 0, 961, 0, 960,
970, 335, 1040, 351, 1083, 355, 1091, 0, 1096, 356,
1095, 1101, 0, 1106, 357, 1105, 1115, 1125, 366, 1178,
1202, 1205, 392, 397, 1283, 398, 1286, 1288, 0, 1293,
399, 1292, 408, 1340, 1346, 1358, 1367, 442, 1467, 0,
0, 0, 695, 0, 0, 1087, 0, 0, 1137, 1135,
1139, 1133, 0, 0, 1138, 1147, 1145, 1149, 1143, 0,
0, 1148, 0, 0, 0, 122, 0, 0, 0, 0,
0, 89, 162, 0, 0, 0, 0, 0, 173, 0,
477, 479, 480, 0, 483, 0, 486, 0, 0, 491,
187, 501, 510, 0, 515, 190, 514, 521, 530, 0,
535, 192, 534, 0, 199, 200, 0, 205, 570, 573,
576, 579, 0, 583, 0, 586, 212, 589, 214, 595,
0, 646, 0, 649, 651, 652, 0, 655, 666, 667,
669, 670, 0, 675, 676, 681, 684, 112, 112, 112,
112, 112, 112, 112, 263, 699, 0, 704, 264, 703,
713, 719, 0, 724, 266, 723, 268, 0, 0, 0,
0, 0, 112, 279, 757, 760, 763, 766, 0, 771,
283, 770, 288, 818, 848, 0, 901, 917, 926, 0,
931, 308, 930, 936, 0, 941, 311, 940, 946, 0,
951, 312, 950, 313, 983, 318, 986, 0, 0, 0,
0, 0, 0, 0, 0, 0, 112, 333, 1043, 339,
0, 345, 0, 0, 350, 1080, 1151, 0, 1156, 362,
1155, 363, 1164, 0, 1169, 364, 1168, 0, 1181, 1186,
0, 1191, 369, 1190, 112, 372, 1197, 373, 1200, 375,
376, 377, 379, 0, 1211, 1220, 0, 1225, 386, 1224,
1231, 1240, 0, 1245, 388, 1244, 1250, 0, 1255, 389,
1254, 1264, 0, 1277, 0, 1280, 400, 401, 402, 1299,
1309, 1319, 0, 1332, 1334, 411, 1338, 413, 1344, 1361,
1362, 0, 422, 1371, 424, 425, 0, 0, 1381, 428,
1391, 429, 1401, 1404, 1411, 1414, 1421, 432, 1431, 433,
1441, 1444, 1451, 1454, 436, 439, 1463, 0, 0, 593,
0, 0, 599, 0, 0, 602, 0, 0, 605, 0,
0, 659, 0, 0, 662, 0, 0, 665, 0, 0,
0, 735, 733, 737, 731, 0, 0, 736, 0, 0,
782, 788, 795, 793, 797, 791, 0, 0, 796, 0,
830, 836, 0, 840, 846, 0, 860, 0, 866, 0,
870, 0, 876, 0, 883, 889, 0, 893, 0, 899,
0, 0, 959, 0, 965, 972, 970, 974, 968, 0,
0, 973, 0, 1094, 1100, 0, 1104, 1110, 1117, 1115,
1119, 1113, 0, 0, 1118, 1127, 1125, 1129, 1123, 0,
0, 1128, 1204, 0, 0, 1207, 0, 0, 0, 1291,
1297, 1342, 0, 0, 1348, 0, 0, 1360, 0, 0,
1369, 0, 0, 606, 624, 246, 250, 694, 352, 1086,
1131, 0, 1136, 360, 1135, 1141, 0, 1146, 361, 1145,
1349, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 493, 0, 0, 0, 513, 519, 0,
533, 539, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 683, 0,
0, 686, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 702, 708, 715, 713, 717, 711, 0, 0,
716, 0, 722, 728, 0, 0, 0, 0, 0, 0,
759, 0, 0, 762, 0, 0, 765, 0, 0, 0,
769, 775, 0, 0, 929, 935, 0, 939, 945, 0,
949, 955, 991, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1154, 1160, 0,
1167, 1173, 0, 0, 1189, 1195, 0, 0, 0, 0,
1223, 1229, 0, 1243, 1249, 0, 1253, 1259, 1266, 1264,
1268, 1262, 0, 0, 1267, 0, 0, 0, 1336, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1465,
0, 0, 0, 0, 213, 592, 215, 598, 0, 601,
0, 604, 0, 658, 0, 661, 0, 664, 0, 729,
0, 734, 267, 733, 112, 780, 789, 0, 794, 287,
793, 828, 838, 858, 0, 868, 0, 881, 891, 0,
910, 957, 314, 966, 0, 971, 0, 970, 1092, 1102,
1111, 0, 1116, 358, 1115, 1121, 0, 1126, 359, 1125,
374, 1203, 378, 1206, 1289, 412, 1341, 414, 1347, 418,
1359, 421, 1368, 608, 0, 0, 626, 0, 0, 0,
1134, 1140, 0, 1144, 1150, 1351, 0, 0, 609, 627,
331, 1352, 0, 0, 0, 0, 0, 122, 0, 0,
0, 0, 443, 446, 171, 172, 476, 0, 0, 0,
112, 488, 186, 492, 511, 531, 0, 203, 206, 573,
576, 579, 0, 0, 0, 232, 0, 234, 0, 0,
0, 675, 243, 682, 0, 685, 251, 252, 112, 255,
256, 257, 112, 700, 709, 0, 714, 265, 713, 720,
739, 742, 745, 748, 112, 277, 280, 758, 281, 761,
0, 764, 767, 298, 927, 937, 947, 0, 995, 998,
1005, 1015, 1021, 1024, 1027, 1030, 330, 340, 1067, 1070,
1152, 1165, 367, 1187, 370, 0, 0, 1221, 1241, 1251,
1260, 0, 1265, 390, 1264, 395, 396, 407, 1334, 1335,
0, 420, 426, 427, 430, 431, 434, 435, 441, 1464,
0, 0, 0, 0, 0, 0, 0, 0, 0, 732,
738, 0, 0, 792, 798, 0, 0, 0, 912, 0,
0, 0, 969, 0, 975, 0, 1114, 1120, 0, 1124,
1130, 0, 607, 0, 625, 1132, 1142, 415, 1350, 611,
0, 0, 629, 0, 0, 1354, 0, 0, 612, 630,
1355, 0, 0, 0, 0, 0, 0, 0, 0, 0,
445, 0, 0, 448, 0, 0, 0, 0, 0, 0,
0, 490, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712, 718, 741, 0, 0, 744, 0, 0, 747, 0,
0, 750, 0, 0, 0, 0, 0, 997, 0, 0,
1000, 0, 0, 1007, 1005, 1009, 1003, 0, 0, 1008,
1017, 1015, 1019, 1013, 0, 0, 1018, 1023, 0, 0,
1026, 0, 0, 1029, 0, 0, 1032, 0, 0, 1069,
0, 0, 1072, 0, 0, 0, 0, 0, 1263, 1269,
0, 0, 0, 452, 216, 217, 235, 0, 237, 0,
730, 284, 790, 299, 300, 303, 305, 911, 967, 315,
1112, 1122, 0, 0, 0, 610, 0, 628, 416, 1353,
614, 0, 0, 632, 0, 0, 1357, 0, 0, 615,
633, 332, 0, 0, 0, 0, 0, 165, 0, 444,
0, 447, 178, 479, 180, 181, 182, 185, 489, 198,
207, 576, 579, 210, 211, 231, 233, 0, 0, 0,
0, 0, 254, 259, 710, 271, 740, 742, 743, 274,
746, 748, 749, 276, 282, 992, 322, 996, 323, 999,
1001, 0, 1006, 324, 1005, 1011, 0, 1016, 325, 1015,
326, 1022, 327, 1025, 0, 1028, 0, 1031, 346, 1068,
1070, 1071, 0, 0, 1261, 410, 419, 0, 454, 0,
0, 0, 0, 218, 224, 0, 0, 0, 613, 0,
631, 417, 1356, 617, 0, 0, 635, 0, 0, 618,
636, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 994, 0, 0, 0,
1004, 1010, 0, 1014, 1020, 0, 0, 0, 0, 0,
449, 0, 453, 236, 112, 219, 225, 0, 0, 0,
616, 0, 634, 620, 0, 0, 638, 0, 0, 621,
639, 0, 0, 168, 179, 208, 579, 0, 0, 0,
0, 244, 272, 275, 321, 993, 1002, 1012, 328, 329,
347, 380, 0, 451, 0, 0, 0, 0, 220, 226,
0, 0, 0, 619, 0, 637, 623, 0, 0, 641,
0, 0, 642, 0, 0, 0, 0, 0, 0, 0,
169, 450, 170, 696, 221, 227, 0, 0, 0, 622,
0, 640, 644, 0, 0, 167, 209, 238, 239, 0,
241, 381, 698, 0, 0, 222, 228, 0, 0, 0,
643, 0, 253, 697, 223, 229, 0, 240, 230
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-2280, 336, -2, -2280, -2280, -2280, -2280, 1497, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-86, -2280, -2280, -27, -2280, 1390, -101, -2280, 2950, 871,
-2280, -2280, -2280, -110, -108, -654, -374, 4988, 1441, 119,
5190, 33, -1161, -15, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -1291, -2280, -2236, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, 294, 818, -2280, -2280, -2280, -677, -206, -2280,
-2280, -2280, 295, 816, -2280, -2280, -2280, -679, -213, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, 288, -2280,
291, -2280, -2280, -2280, -2280, -2280, 280, -2280, -2280, -2280,
277, -2280, -1304, -2280, -1308, -2280, -1312, -2280, -1315, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -695, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -698, -2280, -696, -2280,
266, -2280, -2279, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -717, -259,
-2280, -2280, -2280, -1311, -1066, -2280, -2280, -2280, -715, -264,
-2280, -2280, -2280, -1181, -889, -2280, -2280, -2280, -2280, -2280,
-1593, -2280, -2280, -2280, -1596, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -725, -275, -2280, -2280,
-2280, -2280, -2280, -509, -13, -2280, -2280, -2280, -1179, -891,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, 228, 721, -2280, -2280, -2280,
-512, -14, -2280, -2280, -2280, -510, -17, -2280, -2280, -2280,
230, 724, -2280, -2280, -2280, -508, 10, -2280, -2280, -2280,
-514, 0, -2280, -2280, -2280, -2280, -2280, -519, -31, -2280,
-2280, -2280, -523, -42, -2280, -2280, -2280, 234, 741, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, 226, 723, -2280, -2280,
-2280, -707, -267, -2280, -2280, -2280, -706, -271, -2280, -2280,
-2280, -710, -274, -2280, -2280, -2280, -516, 13, -2280, -2280,
-2280, -1159, -890, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-1417, 726, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -1565, -1433, -2280, -2280, -2280, -1567, -1438, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, 212, 700, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -1574, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -511, 25, -2280, -2280,
-2280, -507, 26, -2280, -2280, -2280, -1151, -885, -2280, -2280,
-2280, -1154, -887, -2280, -2280, -2280, -928, -542, -2280, -2280,
-2280, -927, -545, -2280, -2280, -2280, -705, -280, -2280, -2280,
-2280, -2280, -2280, -712, -284, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -713, -293, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, 201,
-2280, -1478, -2280, -2280, -2280, -2280, -2280, -728, -309, -2280,
-2280, -2280, 188, 650, -2280, -2280, -2280, -731, -314, -2280,
-2280, -2280, -730, -317, -2280, -2280, -2280, -1265, -1046, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -497, 28, -2280, -2280, -2280, 179,
645, -2280, -2280, -2280, 178, 636, -2280, -2280, -2280, 191,
647, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -1256, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280, -2280, -2280, -2280, -736, -2280, -2280, -2280,
-2280, -2280, 168, 615, -2280, -2280, -2280, 180, 607, -2280,
-2280, -2280, 170, 602, -2280, -2280, -2280, -1553, 592, -2280,
-2280, -2280, -1557, 589, -2280, -2280, -2280, 142, 583, -2280,
-2280, -2280, 136, 582, -2280, -2280, -2280, -1571, 579, -2280,
-2280, -2280, -1575, 585, -2280, -2280, -2280, -2280, -2280, -2280,
-2280, -2280, -2280
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
0, 19, 20, 21, 22, 23, 24, 97, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
384, 37, 38, 377, 406, 124, 378, 140, 90, 391,
392, 91, 92, 93, 707, 708, 410, 141, 142, 143,
144, 716, 717, 359, 3031, 3032, 3034, 3035, 3334, 3335,
3239, 3240, 725, 726, 728, 729, 731, 732, 734, 735,
737, 738, 1605, 1606, 740, 741, 1768, 1769, 1771, 1772,
1774, 1775, 1777, 1778, 3042, 3043, 2624, 2625, 752, 753,
755, 756, 759, 760, 761, 762, 763, 1788, 1789, 1790,
1791, 1792, 767, 768, 769, 770, 771, 1798, 1799, 1800,
1801, 1802, 775, 776, 779, 780, 782, 783, 785, 786,
788, 789, 791, 792, 1609, 1610, 794, 795, 797, 798,
800, 801, 803, 804, 806, 807, 809, 810, 812, 813,
1813, 1814, 1816, 1817, 1819, 1820, 2470, 2471, 1822, 1823,
2473, 2474, 2476, 2477, 2479, 2480, 2834, 2835, 3010, 3011,
3151, 3152, 3254, 3255, 3304, 3305, 3347, 3348, 2837, 2838,
3013, 3014, 3154, 3155, 3257, 3258, 3307, 3308, 3350, 3351,
3373, 3374, 1825, 1826, 1828, 1829, 1831, 1832, 1834, 1835,
2482, 2483, 2485, 2486, 2488, 2489, 1837, 1838, 1840, 1841,
825, 826, 1844, 1845, 829, 830, 2649, 2650, 2652, 2653,
835, 836, 838, 839, 2203, 2204, 3383, 3384, 1858, 1859,
1860, 1861, 1862, 2666, 2667, 2668, 2669, 2670, 1866, 1867,
1868, 1869, 1870, 2493, 2494, 2495, 2496, 2497, 3063, 3064,
3066, 3067, 3069, 3070, 3072, 3073, 866, 867, 869, 870,
2681, 2682, 2684, 2685, 2687, 2688, 1884, 1885, 1886, 1887,
1888, 876, 877, 1623, 1624, 1625, 1626, 1627, 2504, 2505,
2506, 2507, 2508, 880, 881, 883, 884, 886, 887, 889,
890, 1630, 1631, 1633, 1634, 893, 894, 895, 896, 897,
1637, 1638, 1639, 1640, 1641, 1644, 1645, 1646, 1647, 1648,
900, 901, 902, 903, 904, 1651, 1652, 1653, 1654, 1655,
1658, 1659, 1660, 1661, 1662, 1664, 1665, 1668, 1669, 1670,
1671, 1672, 1675, 1676, 1677, 1678, 1679, 907, 908, 909,
910, 911, 2989, 2990, 913, 914, 917, 918, 919, 920,
921, 1905, 1906, 1907, 1908, 1909, 1912, 1913, 1914, 1915,
1916, 1919, 1920, 1921, 1922, 1923, 1683, 1684, 1685, 1686,
1687, 2537, 2538, 2539, 2540, 2541, 929, 930, 932, 933,
936, 937, 938, 1927, 1928, 3277, 3278, 3078, 3079, 3081,
3082, 3085, 3086, 3087, 3088, 3089, 3092, 3093, 3094, 3095,
3096, 3098, 3099, 3101, 3102, 3104, 3105, 3107, 3108, 952,
953, 955, 956, 1690, 1691, 959, 960, 961, 962, 963,
965, 966, 968, 969, 971, 972, 974, 975, 977, 978,
3110, 3111, 3113, 3114, 986, 987, 989, 990, 1950, 1951,
1693, 1694, 2206, 2207, 993, 994, 1698, 1699, 1700, 1701,
1702, 1705, 1706, 1707, 1708, 1709, 2550, 2551, 2552, 2553,
2554, 2557, 2558, 2559, 2560, 2561, 2210, 2211, 2212, 2213,
2214, 2217, 2218, 2219, 2220, 2221, 1954, 1955, 1956, 1957,
1958, 998, 999, 1962, 1963, 1964, 1965, 1966, 1002, 1003,
1713, 1714, 1968, 1969, 1006, 1007, 1972, 1973, 1974, 1975,
1976, 1979, 1980, 1982, 1983, 2563, 2564, 2566, 2567, 1018,
1019, 1021, 1022, 1025, 1026, 1028, 1029, 1992, 1993, 1994,
1995, 1996, 1034, 1035, 1036, 1037, 1038, 2002, 2003, 2004,
2005, 2006, 2009, 2010, 2011, 2012, 2013, 2740, 2741, 2742,
2743, 2744, 1044, 1045, 1047, 1048, 2016, 2017, 2019, 2020,
1719, 1720, 1722, 1723, 1726, 1727, 1728, 1729, 1730, 1056,
1057, 1058, 1059, 1060, 1063, 1064, 1065, 1066, 1067, 1070,
1071, 1072, 1073, 1074, 1076, 1077, 2034, 2035, 2749, 2750,
2038, 2039, 2572, 2573, 2041, 2042, 2575, 2576, 2846, 2847,
3016, 3017, 3157, 3158, 2578, 2579, 2044, 2045, 1085, 1086,
2581, 2582, 1090, 1091, 1092, 1093, 1094, 1101, 1102, 1103,
1104, 1105, 1108, 1109, 1110, 1111, 1112, 1115, 1116, 1117,
1118, 1119, 1122, 1123, 1124, 1125, 1126, 1129, 1130, 1131,
1132, 1133, 1136, 1137, 1138, 1139, 1140, 1143, 1144, 1145,
1146, 1147, 1150, 1151, 1152, 1153, 1154, 1159, 1160, 2760,
2761, 1737, 1738
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
94, 95, 1926, 1811, 1810, 2618, 1809, 1601, 1808, 1989,
2066, 2070, 2082, 2086, 2647, 96, 96, 115, 123, 116,
389, 380, 133, 382, 117, 118, 68, 361, 408, 41,
409, 709, 703, 44, 69, 70, 71, 72, 42, 704,
705, 385, 386, 115, 53, 116, 626, 1717, 627, 628,
117, 118, 1164, 1241, 43, 1242, 55, 399, 1165, 400,
70, 71, 72, 1247, 401, 402, 45, 1247, 383, 54,
1248, 39, 137, 145, 2094, 119, 689, 76, 403, 690,
57, 56, 694, 139, 374, 412, 1759, 1247, 366, 367,
368, 369, 375, 1247, 2182, 697, 120, 40, 698, 46,
2585, 119, 76, 403, 58, 629, 59, 60, 61, 1247,
47, 1247, 48, 62, 63, 64, 2850, 145, 3161, 51,
395, 395, 120, 699, 701, 1235, 700, 700, 690, 413,
414, 415, 416, 363, 362, 703, 404, 69, 70, 71,
72, 1757, 704, 705, 690, 49, 417, 691, 690, 710,
711, 714, 715, 1596, 1597, 1598, 1599, 65, 66, 67,
68, 69, 70, 71, 72, 138, 73, 74, 394, 397,
50, 52, 100, 101, 102, 103, 105, 109, 104, 108,
76, 403, 106, 110, 107, 111, 112, 113, 114, 125,
129, 130, 131, 126, 132, 135, 127, 136, 75, 128,
365, 370, 371, 372, 76, 376, 381, 77, 412, 78,
373, 387, 411, 418, 419, 420, 421, 139, 422, 423,
424, 425, 79, 80, 81, 82, 83, 84, 85, 86,
426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 65, 66, 67, 68, 69, 70,
71, 72, 440, 73, 74, 441, 65, 66, 67, 68,
69, 70, 71, 72, 442, 73, 74, 684, 443, 444,
445, 446, 447, 448, 685, 449, 450, 451, 452, 453,
692, 454, 455, 456, 457, 75, 458, 459, 460, 687,
461, 76, 462, 463, 77, 408, 78, 75, 464, 465,
466, 693, 467, 76, 139, 468, 77, 469, 78, 79,
80, 81, 82, 83, 84, 85, 86, 470, 471, 472,
473, 79, 80, 81, 82, 83, 84, 85, 86, 474,
475, 390, 362, 709, 476, 709, 477, 478, 479, 480,
481, 482, 483, 484, 681, 485, 486, 487, 68, 488,
489, 490, 491, 492, 493, 494, 495, 496, 682, 497,
683, 688, 695, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 686, 508, 696, 509, 510, 1167, 511,
512, 513, 514, 515, 516, 121, 517, 122, 379, 518,
134, 519, 1166, 1281, 520, 702, 521, 145, 522, 681,
405, 706, 712, 395, 145, 145, 145, 145, 722, 723,
523, 121, 524, 122, 1163, 525, 742, 743, 744, 745,
746, 145, 145, 749, 750, 405, 1231, 700, 145, 526,
145, 145, 527, 145, 528, 529, 530, 364, 531, 532,
533, 1228, 534, 535, 536, 537, 814, 815, 816, 817,
818, 819, 820, 821, 822, 823, 538, 827, 539, 831,
832, 145, 540, 541, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 852, 853, 854, 145,
145, 145, 858, 859, 145, 861, 862, 863, 864, 542,
543, 871, 872, 873, 145, 544, 878, 545, 546, 547,
548, 549, 550, 405, 551, 389, 145, 145, 145, 145,
145, 145, 552, 553, 554, 145, 145, 941, 942, 943,
944, 945, 946, 947, 948, 949, 950, 87, 1255, 88,
1287, 713, 89, 1249, 1251, 145, 145, 145, 145, 983,
984, 555, 556, 991, 557, 145, 996, 1250, 145, 558,
1004, 559, 145, 145, 145, 145, 145, 145, 145, 145,
145, 560, 1387, 145, 561, 562, 145, 145, 563, 145,
145, 1041, 145, 1285, 564, 1049, 1050, 1051, 1052, 145,
2201, 565, 566, 567, 145, 145, 1080, 145, 1082, 1083,
568, 145, 569, 145, 145, 145, 145, 408, 570, 408,
408, 408, 1243, 1244, 571, 145, 145, 145, 572, 145,
1162, 1245, 3055, 573, 87, 574, 88, 575, 576, 89,
577, 578, 579, 580, 581, 1, 87, 393, 88, 582,
583, 89, 584, 585, 2, 3, 4, 586, 5, -31,
-33, -35, -37, -39, -43, 6, 7, 587, 8, 9,
588, 10, 11, 12, 589, 13, 590, 14, 591, 592,
593, 594, 595, 1234, 596, 597, 1227, 598, 599, 1229,
1230, 600, 1232, 601, 602, 603, 15, 604, 605, 606,
16, 607, 1237, 608, 609, 1239, 17, 1240, 610, 611,
612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
622, 623, 624, -41, 625, 1168, 1169, 1170, 1171, 1172,
1173, 1256, 1246, 1174, 1258, 1175, 1176, 1260, 1177, 1178,
1262, 1179, 1180, 1264, 1181, 1182, 1266, 1183, 1184, 1185,
1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1277, 1194,
1195, 1279, 1196, 1197, 1198, 1199, 1282, 1200, 1201, 1202,
1203, 1204, 1205, 1206, 1288, 1207, 1208, 1209, 1210, 1211,
1212, 1294, 1213, 1214, 1215, 1297, 1216, 1217, 1299, 1252,
1261, 1301, 1257, 1259, 1303, 1263, 1265, 1305, 1272, 1273,
1307, 1276, 1278, 1309, 1283, 1289, 1311, 1284, 1290, 1313,
1292, 1291, 1315, 1293, 1295, 1317, 1296, 1306, 1319, 1392,
1298, 1300, 1302, 1304, 1397, 1308, 1342, 1310, 1312, 1314,
1316, 1331, 1318, 1330, 1333, 1334, 1337, 1338, 1343, 1340,
1344, 1339, 1345, 1346, 1341, 1347, 1348, 1349, 1350, 1353,
1357, 1351, 1404, 1352, 1420, 1358, 1374, 1439, 1359, 1362,
1367, 1497, 1515, 1369, 1375, 1378, 1380, 1382, 1384, 1389,
1394, 1390, 1368, 1395, 1399, 1370, 1400, 1407, 1401, 1406,
1408, 1409, 1376, 1410, 1411, 1412, 1379, 1413, 1414, 1381,
1416, 1419, 1383, 1434, 1520, 1385, 1422, 1423, 1525, 1436,
1388, 1441, 1456, 1442, 1443, 1445, 1451, 1393, 2758, 1447,
2757, 1449, 1453, 1454, 1398, 1455, 1459, 1461, 2756, 1402,
2755, 1464, 1466, 1470, 1405, 1468, 1471, 1474, 1476, 1477,
1479, 1478, 1480, 1481, 1482, 1415, 1483, 1484, 1417, 1485,
1495, 1541, 1489, 1421, 1550, 1490, 2728, 1487, 1492, 1494,
1499, 1501, 1500, 1502, 1504, 1505, 1507, 3266, 1435, 2702,
1513, 1437, 1517, 1531, 1518, 1522, 1440, 1523, 1527, 1534,
1528, 1444, 1529, 1532, 1446, 1537, 2637, 1448, 2636, 1539,
1450, 2635, 1543, 1452, 2634, 1544, 1545, 1546, 1547, 1548,
1552, 1553, 1460, 1555, 1557, 1462, 1560, 1562, 1565, 1465,
1558, 1563, 1567, 1568, 1469, 1570, 1572, 1573, 1472, 1575,
18, 98, 1475, 1577, 1580, 1578, 1582, 1585, 1583, 1587,
1588, 1589, 1590, 1739, 1486, 1591, 1600, 1488, 1592, 1594,
1755, 1491, 1740, 1741, 1493, 1742, 1743, 1744, 1745, 1746,
1758, 1498, 1756, 1783, 1793, 1890, 2090, 1893, 1897, 1900,
1506, 1925, 1941, 1508, 1997, 2024, 2027, 2030, 2048, 2055,
2059, 2063, 2067, 1516, 2071, 2075, 2079, 2083, 2091, 2092,
1521, 2093, 2097, 2113, 2123, 2099, 2128, 1526, 2100, 2115,
2133, 2116, 1530, 2118, 2603, 2120, 2125, 2135, 2126, 2130,
2138, 1538, 2131, 2136, 2140, 2145, 2141, 1542, 2142, 2147,
2150, 2148, 2152, 2153, 2156, 2158, 2159, 2161, 1551, 2167,
2163, 2165, 2172, 2169, 2174, 1556, 2170, 2175, 2178, 2180,
2181, 2183, 1561, 2185, 2188, 2190, 2193, 2253, 2192, 1566,
2191, 2197, 2255, 2223, 1247, 2224, 1571, 2225, 2226, 2259,
2306, 2239, 2261, 1576, 2241, 2243, 2245, 2256, 2262, 2264,
1581, 2265, 2266, 2267, 2312, 2268, 2269, 1586, 2270, 2271,
2328, 2272, 2274, 2280, 2276, 1593, 2278, 2297, 2282, 2298,
2284, 2286, 2288, 395, 1602, 1603, 2290, 145, 2292, 1611,
1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 2293,
1628, 2299, 2300, 2301, 2302, 2303, 2308, 2339, 2309, 2344,
1680, 2349, 1688, 2314, 2316, 145, 2377, 2315, 1710, 1711,
2330, 145, 145, 395, 2331, 2332, 2341, 145, 145, 1733,
1734, 1735, 2342, 2346, 2383, 2347, 2351, 2390, 2352, 2355,
2394, 2356, 1751, 2371, 2374, 2379, 2406, 2380, 2385, 2412,
2386, 1752, 2387, 2392, 2417, 2393, 2395, 2397, 2399, 2400,
2401, 2402, 395, 2408, 1760, 2403, 1761, 2404, 1762, 1763,
1764, 2409, 1765, 2414, 1766, 65, 66, 67, 68, 69,
70, 71, 72, 2415, 73, 74, 1779, 2419, 2422, 1780,
1781, 1782, 2420, 2424, 2426, 2432, 1784, 2427, 2428, 2435,
2446, 2437, 1794, 2447, 2439, 2444, 2445, 2499, 2449, 2451,
2509, 2453, 2457, 1803, 2455, 2459, 75, 2461, 2463, 2512,
2464, 2515, 76, 2519, 2523, 77, 2526, 78, 2531, 2542,
2545, 2568, 2586, 2588, 2591, 2594, 2593, 2598, 2596, 2605,
79, 80, 81, 82, 83, 84, 85, 86, 2599, 2606,
1846, 1847, 2607, 2626, 2629, 2661, 2671, 145, 145, 145,
145, 145, 145, 2689, 145, 2693, 2696, 2699, 1855, 2716,
1863, 2719, 145, 2723, 2729, 1872, 1873, 2732, 1874, 1875,
1876, 1877, 2735, 2780, 1878, 2768, 1879, 1880, 1881, 2764,
2766, 2782, 145, 2770, 2772, 2787, 2804, 2774, 2806, 2776,
2783, 2790, 1891, 2789, 2811, 2807, 2813, 1894, 2814, 1895,
2816, 2819, 1898, 2818, 2820, 2822, 2839, 2825, 2827, 1901,
2829, 2842, 2831, 2855, 2867, 2856, 2857, 2905, 1924, 2872,
2951, 2878, 2898, 2879, 2892, 1929, 2880, 2881, 2886, 1930,
1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940,
2888, 2889, 2891, 2894, 1942, 2896, 2897, 2899, 2900, 2901,
2902, 2978, 1944, 2907, 1945, 2908, 2915, 2982, 2916, 2918,
2936, 145, 1947, 1948, 2920, 2946, 2944, 2953, 2991, 2954,
2958, 2960, 2964, 1959, 2965, 2966, 2967, 2968, 2995, 2998,
3001, 3003, 145, 3007, 3024, 3025, 145, 145, 145, 145,
3059, 3117, 3131, 3136, 3211, 3144, 3146, 3148, 3164, 3165,
3216, 3172, 1998, 3168, 3170, 3176, 3177, 3180, 2014, 3224,
3181, 3226, 3182, 3263, 3190, 3192, 145, 145, 145, 3193,
2025, 3195, 3279, 3197, 3199, 2028, 3201, 3203, 3206, 3208,
2031, 3213, 3282, 3214, 3218, 99, 3363, 3219, 2036, 3220,
3222, 3228, 2046, 3230, 2047, 3235, 2049, 3247, 407, 3249,
145, 145, 145, 145, 3251, 2056, 3314, 145, 3291, 3299,
2060, 3301, 145, 3315, 3322, 2064, 3316, 145, 3323, 3324,
2068, 3330, 145, 3342, 3344, 2072, 3360, 145, 3368, 3370,
2076, 3376, 145, 3389, 3392, 2080, 3047, 145, 3046, 1238,
2084, 3045, 145, 388, 145, 3036, 1280, 2088, 1785, 2628,
2089, 2252, 1286, 2631, 2258, 1795, 1806, 1807, 1804, 2642,
2644, 2098, 2663, 1805, 2645, 2101, 1842, 3061, 2305, 2904,
2673, 2311, 2980, 2779, 3274, 3275, 2691, 2501, 2327, 2112,
2114, 2984, 2786, 1386, 2511, 87, 2119, 88, 1892, 2121,
89, 2514, 2122, 1391, 2124, 1896, 2127, 2522, 2518, 2525,
2529, 2129, 2149, 1902, 1899, 2695, 2144, 2338, 2134, 1403,
2343, 2698, 2701, 2534, 2348, 2139, 2803, 1396, 2994, 3281,
2143, 3210, 3284, 3215, 1943, 2146, 3287, 2137, 1438, 2544,
2132, 1418, 2151, 2997, 2810, 3000, 2841, 2590, 2547, 2815,
2157, 2595, 2844, 2376, 2721, 2718, 2162, 2382, 2389, 2164,
2725, 2731, 2405, 1496, 2734, 2168, 1988, 2411, 1999, 3119,
2737, 2416, 2173, 2950, 2570, 2155, 3023, 2026, 1519, 2179,
1514, 2029, 3120, 2751, 1540, 2184, 1559, 1549, 2186, 1554,
1564, 1569, 2050, 2189, 2078, 2074, 1524, 1574, 0, 2032,
0, 1579, 2166, 2198, 2199, 2200, 395, 0, 2062, 0,
2171, 2222, 0, 2058, 1584, 0, 2230, 0, 2231, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2187, 2240, 0, 0, 2242, 0, 0,
2244, 0, 0, 2246, 0, 0, 0, 0, 2251, 0,
0, 0, 0, 0, 0, 2254, 0, 0, 2257, 0,
0, 0, 0, 0, 0, 2260, 0, 0, 0, 0,
0, 65, 66, 67, 68, 69, 70, 71, 72, 2273,
73, 74, 2275, 0, 0, 2277, 0, 0, 2279, 0,
0, 2281, 0, 0, 2283, 0, 0, 2285, 0, 0,
2287, 0, 0, 2289, 0, 0, 2291, 0, 0, 0,
2294, 0, 75, 0, 0, 0, 0, 0, 76, 0,
0, 77, 0, 78, 0, 2307, 0, 0, 0, 0,
0, 0, 0, 2313, 0, 0, 79, 80, 81, 82,
83, 84, 85, 86, 0, 0, 0, 3268, 0, 3267,
0, 2329, 0, 0, 0, 2333, 0, 0, 2334, 0,
0, 0, 2336, 0, 0, 2337, 0, 0, 0, 0,
0, 0, 2340, 0, 0, 0, 0, 0, 0, 2345,
0, 0, 0, 0, 0, 0, 2350, 0, 0, 0,
2354, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2368, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2375, 0, 0, 0,
0, 2378, 0, 0, 0, 0, 0, 0, 0, 2384,
0, 0, 0, 0, 2388, 0, 0, 0, 0, 2391,
0, 0, 0, 0, 0, 2396, 0, 0, 2398, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2407,
0, 0, 2410, 0, 0, 0, 0, 0, 0, 2413,
0, 0, 0, 0, 0, 0, 2418, 0, 0, 0,
0, 3354, 2423, 0, 0, 2425, 0, 0, 0, 2429,
0, 0, 2430, 0, 0, 2431, 0, 0, 0, 0,
2433, 0, 0, 0, 2436, 0, 0, 2438, 0, 0,
2440, 0, 0, 2443, 0, 0, 0, 0, 0, 0,
2448, 0, 0, 0, 2450, 0, 0, 0, 2452, 0,
0, 0, 2454, 0, 0, 0, 2456, 0, 0, 0,
2458, 0, 0, 0, 2460, 0, 0, 0, 2462, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2467, 2468, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2490, 0, 2498, 0, 2500, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2510, 0,
0, 0, 0, 2513, 0, 0, 0, 0, 2516, 0,
2517, 0, 0, 2520, 0, 2521, 0, 0, 0, 0,
2524, 0, 0, 0, 0, 2527, 0, 2528, 0, 2530,
0, 2532, 0, 2533, 0, 0, 0, 0, 0, 0,
0, 0, 2543, 0, 0, 0, 0, 2546, 0, 0,
0, 87, 396, 88, 0, 0, 89, 0, 0, 0,
0, 0, 0, 2569, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2587,
0, 0, 2589, 0, 0, 0, 0, 2592, 0, 0,
0, 0, 0, 0, 2597, 0, 0, 0, 2601, 2602,
395, 2604, 0, 0, 0, 2611, 0, 0, 2612, 2613,
2614, 2615, 2616, 0, 2617, 0, 0, 0, 2619, 0,
2620, 0, 2621, 2622, 0, 0, 0, 0, 2627, 0,
0, 0, 0, 0, 2630, 0, 0, 0, 2632, 0,
0, 2633, 0, 0, 0, 0, 0, 2638, 0, 2639,
0, 0, 0, 0, 0, 2640, 0, 2641, 0, 0,
0, 2643, 0, 0, 0, 0, 0, 2646, 0, 0,
0, 0, 145, 145, 145, 145, 145, 145, 145, 0,
0, 2662, 0, 0, 0, 0, 0, 2672, 0, 0,
0, 0, 2674, 2675, 2676, 2677, 2678, 145, 0, 0,
0, 0, 0, 2690, 0, 0, 0, 0, 0, 0,
2692, 0, 0, 0, 2694, 0, 0, 0, 0, 2697,
0, 0, 0, 0, 2700, 0, 0, 0, 0, 0,
0, 0, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710,
2711, 145, 0, 0, 0, 2713, 0, 2714, 2715, 0,
0, 0, 2717, 0, 0, 0, 0, 0, 2720, 0,
0, 0, 2722, 0, 0, 2724, 0, 0, 0, 145,
0, 0, 0, 0, 0, 0, 0, 0, 2727, 0,
0, 2730, 0, 0, 0, 0, 0, 2733, 0, 0,
0, 0, 2736, 0, 0, 0, 0, 2745, 0, 2746,
0, 0, 0, 0, 0, 0, 0, 2747, 0, 0,
0, 0, 0, 0, 0, 0, 2752, 0, 0, 0,
0, 2753, 2754, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2765, 0, 0, 2767,
0, 0, 2769, 0, 0, 2771, 0, 0, 2773, 0,
0, 2775, 0, 0, 2777, 0, 0, 0, 0, 0,
2781, 0, 0, 0, 2785, 0, 0, 0, 0, 0,
0, 2788, 0, 0, 2791, 0, 0, 2792, 0, 0,
2793, 0, 0, 0, 2795, 0, 0, 0, 2797, 0,
0, 2798, 0, 0, 0, 0, 2801, 0, 0, 0,
0, 0, 0, 0, 2805, 0, 0, 2808, 0, 0,
2809, 0, 0, 0, 0, 0, 0, 2812, 0, 0,
0, 0, 0, 0, 2817, 0, 0, 0, 0, 2821,
0, 0, 2823, 2824, 0, 0, 0, 0, 2826, 0,
0, 2828, 0, 0, 2830, 0, 0, 2832, 0, 0,
0, 0, 0, 0, 0, 0, 2840, 0, 0, 0,
0, 2843, 0, 0, 0, 0, 0, 0, 0, 0,
2852, 2853, 2854, 0, 0, 0, 2860, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873, 2874, 0, 0, 2875, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2893, 0, 0, 2895, 0,
0, 0, 0, 0, 0, 0, 2903, 0, 0, 0,
0, 0, 0, 2906, 0, 0, 2909, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2917, 0, 0,
2919, 0, 0, 2921, 2922, 0, 0, 0, 2924, 0,
0, 2925, 0, 0, 2926, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2940, 0, 0, 2941, 0, 0, 0, 2943, 0,
0, 0, 0, 0, 2947, 0, 0, 2948, 0, 0,
2949, 0, 0, 0, 0, 0, 0, 2952, 0, 0,
0, 0, 0, 0, 0, 2959, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2969, 2970, 2971, 0,
0, 0, 0, 2972, 0, 2973, 0, 2974, 0, 2975,
0, 2976, 0, 2977, 0, 2979, 0, 0, 0, 145,
0, 0, 2983, 0, 0, 0, 0, 0, 0, 2985,
0, 2986, 0, 0, 2987, 0, 0, 0, 0, 2992,
0, 2993, 0, 0, 0, 0, 2996, 0, 0, 0,
0, 2999, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002, 0, 0, 3004, 3005, 0, 0, 3006, 0, 0,
0, 0, 3008, 0, 0, 0, 0, 0, 0, 0,
3021, 3022, 395, 0, 0, 3028, 3029, 0, 0, 0,
0, 0, 3037, 3038, 3039, 145, 0, 0, 0, 0,
0, 3044, 0, 0, 0, 0, 0, 3048, 3049, 3050,
0, 3051, 0, 3052, 3053, 3054, 0, 0, 0, 3056,
0, 0, 0, 145, 0, 0, 0, 145, 0, 0,
3060, 0, 0, 0, 0, 0, 0, 0, 0, 145,
0, 0, 0, 0, 0, 3075, 0, 0, 0, 0,
0, 0, 3076, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3115, 3116, 0, 0, 0, 0, 3118, 0, 0, 0,
0, 0, 0, 0, 0, 3121, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3130, 0, 0, 0, 3132, 0, 0,
0, 0, 0, 0, 0, 3137, 3138, 0, 0, 0,
3140, 0, 0, 3141, 0, 0, 3142, 0, 3143, 0,
0, 0, 0, 0, 0, 0, 3145, 0, 0, 3147,
0, 0, 3149, 0, 0, 0, 0, 0, 0, 3162,
3163, 0, 0, 3028, 0, 0, 0, 3169, 0, 0,
3171, 0, 0, 0, 0, 0, 0, 0, 3178, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3194, 0, 0, 0, 0, 3196,
0, 0, 3198, 0, 0, 3200, 0, 0, 3202, 0,
0, 0, 0, 0, 3207, 0, 0, 3209, 0, 0,
0, 0, 3212, 0, 0, 0, 0, 0, 0, 3217,
0, 0, 0, 0, 3221, 0, 0, 3223, 0, 0,
3225, 0, 0, 3227, 0, 0, 3229, 0, 0, 3231,
0, 0, 3234, 0, 0, 0, 0, 3237, 0, 0,
0, 0, 3241, 0, 3242, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3245,
0, 3246, 0, 0, 0, 0, 0, 3248, 0, 0,
3250, 0, 0, 3252, 0, 0, 0, 0, 0, 3261,
3262, 0, 0, 3264, 0, 3265, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3269, 3270, 3271, 3272, 3273, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3280, 0, 0, 0,
0, 3283, 0, 0, 0, 0, 0, 0, 0, 3285,
0, 3286, 0, 0, 0, 0, 0, 3288, 3289, 0,
0, 0, 0, 0, 0, 3292, 0, 0, 0, 0,
0, 0, 3297, 0, 3298, 0, 0, 0, 0, 0,
3300, 0, 0, 3302, 0, 0, 0, 0, 3311, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3325, 3326, 0, 0, 3327, 0, 0,
0, 0, 0, 0, 0, 0, 3336, 0, 0, 145,
0, 0, 0, 0, 3340, 0, 3341, 0, 0, 0,
3343, 0, 0, 3345, 0, 0, 0, 3353, 0, 0,
0, 0, 3355, 3356, 3357, 3358, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3359, 0, 0,
3361, 0, 0, 0, 0, 0, 0, 3366, 0, 3367,
0, 0, 0, 3369, 0, 0, 3371, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3387, 0, 3388, 0, 0, 0, 3390,
0, 0, 0, 0, 3391, 0, 0, 0, 0, 3393,
0, 0, 0, 0, 3396, 724, 727, 730, 733, 736,
739, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751, 754, 757, 0, 765, 0, 0, 774, 0, 778,
781, 784, 787, 790, 793, 796, 799, 802, 805, 808,
811, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 824, 0, 828, 0, 0, 0, 834, 837, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 865, 868, 0, 0, 0, 0,
875, 0, 879, 882, 885, 888, 891, 898, 905, 912,
915, 0, 0, 0, 0, 0, 0, 928, 931, 934,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 951, 954, 957, 964, 967, 970, 973, 976,
0, 0, 0, 0, 0, 0, 985, 988, 0, 992,
0, 0, 997, 0, 1001, 0, 1005, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1017, 1020, 0, 1024,
1027, 0, 0, 1032, 0, 0, 0, 0, 1043, 1046,
0, 0, 0, 0, 0, 1054, 1061, 1068, 1075, 0,
0, 0, 0, 0, 0, 1084, 0, 1088, 0, 0,
0, 0, 1099, 1106, 1113, 1120, 1127, 1134, 1141, 1148,
1, 0, 0, 1158, 0, 0, 0, 0, 0, 2,
3, 4, -27, 5, -31, -33, -35, -37, -39, -43,
6, 7, 0, 8, 9, 0, 10, 11, 12, 0,
13, 0, 14, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 15, 0, 0, 0, 16, 0, 0, 2, 3,
4, 17, 5, -31, -33, -35, -37, -39, -43, 6,
7, 0, 8, 9, 0, 10, 11, 12, -41, 13,
0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 16, 0, 0, 0, 0, 0,
17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -41, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 757, 0,
0, 0, 0, 0, 0, 0, 765, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 891, 0, 0, 0, 0, 0, 0, 898,
0, 0, 0, 0, 0, 0, 905, 0, 0, 0,
0, 0, 0, 0, 0, 0, 915, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 934, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 957, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1032, 18, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1054, 0, 0, 0, 0,
0, 0, 1061, 0, 0, 0, 0, 0, 0, 1068,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099, 0, 0, 0, 0, 0, 0, 1106, 0, 0,
0, 0, 0, 0, 1113, 0, 0, 0, 0, 0,
0, 1120, 0, 0, 0, 0, 0, 0, 1127, 0,
0, 0, 0, 0, 0, 1134, 0, 0, 0, 0,
0, 0, 1141, 0, 0, 0, 0, 0, 0, 1148,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1604, 0, 1608, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1621, 0, 1629, 1632, 1635, 1642,
1649, 1656, 1663, 1666, 1673, 0, 1681, 0, 1689, 1692,
0, 1696, 1703, 0, 0, 1712, 0, 0, 0, 1718,
1721, 1724, 0, 0, 0, 0, 0, 1736, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1767, 1770, 1773,
1776, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 757, 1786, 0, 0, 0, 0,
765, 1796, 0, 0, 0, 0, 0, 0, 0, 0,
784, 0, 787, 0, 0, 0, 793, 0, 0, 0,
799, 0, 802, 0, 805, 0, 808, 0, 811, 0,
1812, 1815, 1818, 1821, 1824, 1827, 1830, 1833, 1836, 1839,
824, 0, 1843, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1856, 0, 1864, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1882, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891, 0, 0, 0, 0, 898, 0, 0, 0, 0,
905, 0, 0, 0, 0, 0, 0, 915, 1903, 0,
0, 1910, 1917, 0, 0, 0, 0, 0, 0, 934,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 957, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1949, 0, 0, 0, 1952, 0, 0,
1960, 0, 0, 1967, 0, 0, 1970, 0, 0, 1978,
1981, 0, 0, 0, 0, 1017, 0, 1020, 0, 0,
0, 0, 0, 0, 0, 1990, 0, 0, 0, 0,
1032, 2000, 2007, 0, 0, 0, 0, 0, 0, 2015,
2018, 0, 0, 0, 0, 0, 0, 0, 1054, 0,
0, 0, 0, 1061, 0, 0, 0, 0, 1068, 0,
0, 2033, 0, 0, 2037, 2040, 2043, 0, 0, 0,
0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 1099, 0, 0, 0, 0, 1106, 0,
0, 0, 0, 1113, 0, 0, 0, 0, 1120, 0,
0, 0, 0, 1127, 0, 0, 0, 0, 1134, 0,
0, 0, 0, 1141, 0, 0, 0, 0, 1148, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1621, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1635, 0, 0, 0,
0, 0, 0, 1642, 0, 0, 0, 0, 0, 0,
1649, 0, 0, 0, 0, 0, 0, 1656, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1666, 0, 0,
0, 0, 0, 0, 1673, 0, 0, 0, 0, 0,
0, 0, 1681, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1696, 0, 0,
0, 0, 0, 0, 1703, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1724, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2202, 2205, 2208, 2215, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1786, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1796, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1856, 0, 0,
0, 0, 0, 0, 0, 1864, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1882, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1903, 0, 0, 0, 0, 0,
0, 1910, 0, 0, 0, 0, 0, 0, 1917, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1952, 0, 0, 0, 0, 0, 0,
0, 1960, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1970, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1990, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2000, 0, 0, 0, 0, 0, 0, 2007, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2469, 2472, 2475, 2478, 2481, 2484, 2487, 0,
2491, 0, 0, 0, 0, 0, 1621, 2502, 0, 0,
0, 0, 0, 0, 0, 0, 1635, 0, 0, 0,
0, 1642, 0, 0, 0, 0, 1649, 0, 0, 0,
0, 1656, 0, 0, 0, 0, 0, 0, 1666, 0,
0, 0, 0, 1673, 0, 0, 0, 0, 0, 1681,
2535, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696, 0, 0, 0, 0, 1703, 2548, 2555, 0, 0,
2562, 2565, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1724, 0, 2571, 2574, 2577, 2580, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2208,
0, 0, 0, 0, 0, 0, 2215, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1770, 0, 0, 0, 0, 0, 0, 0, 2623,
0, 0, 0, 0, 0, 0, 1786, 0, 0, 0,
0, 0, 1796, 0, 0, 0, 0, 0, 802, 805,
808, 811, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1830, 0, 0, 0, 1836, 0,
1839, 0, 0, 1843, 0, 2648, 2651, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1856,
2664, 0, 0, 0, 0, 1864, 0, 0, 0, 0,
0, 0, 0, 0, 2680, 2683, 2686, 0, 0, 0,
0, 1882, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1903, 0, 0, 0, 0, 1910, 0, 0,
0, 0, 1917, 0, 0, 0, 934, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952, 0, 0, 0, 0, 0, 1960, 0, 0, 0,
0, 0, 0, 1970, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1020, 0, 0, 0, 0, 1990,
0, 0, 0, 0, 0, 2000, 0, 0, 0, 0,
2007, 2738, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2748, 0, 0, 0, 0, 2043,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1113, 0, 1120, 0, 718, 719, 720,
721, 1141, 0, 1148, 0, 0, 2759, 0, 0, 0,
0, 0, 0, 0, 747, 748, 0, 0, 0, 0,
0, 764, 0, 772, 773, 0, 777, 0, 0, 0,
0, 0, 2491, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2502, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 833, 0, 0, 840, 841, 842,
843, 844, 845, 846, 847, 848, 849, 850, 851, 0,
0, 0, 855, 856, 857, 0, 2535, 860, 0, 0,
0, 0, 0, 0, 0, 0, 0, 874, 0, 2548,
0, 0, 0, 0, 0, 0, 2555, 0, 0, 922,
923, 924, 925, 926, 927, 0, 0, 0, 939, 940,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2833, 2836, 0, 0, 0, 979, 980,
981, 982, 0, 0, 2208, 0, 0, 0, 995, 2215,
2845, 1000, 0, 0, 0, 1008, 1009, 1010, 1011, 1012,
1013, 1014, 1015, 1016, 0, 0, 1023, 0, 0, 1030,
1031, 0, 1039, 1040, 0, 1042, 0, 0, 0, 0,
0, 0, 1053, 0, 0, 0, 0, 1078, 1079, 0,
1081, 0, 0, 0, 1087, 0, 1095, 1096, 1097, 1098,
0, 0, 0, 0, 0, 0, 0, 0, 1155, 1156,
1157, 0, 1161, 0, 0, 2664, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 758, 0, 766, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2738,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 892, 899, 906, 0,
916, 0, 0, 0, 0, 0, 0, 0, 0, 935,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2491, 958, 0, 0, 0, 0, 0,
2502, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2988, 0, 0, 0, 0, 0, 0, 2535, 0, 0,
0, 0, 0, 0, 2548, 0, 0, 0, 0, 2555,
0, 0, 0, 1033, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1055, 1062, 1069, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1089, 3009, 3012,
0, 3015, 1100, 1107, 1114, 1121, 1128, 1135, 1142, 1149,
0, 0, 3030, 3033, 0, 0, 1767, 0, 0, 0,
0, 3041, 0, 0, 0, 0, 0, 0, 0, 805,
808, 811, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1843, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2664, 0,
3062, 3065, 3068, 3071, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3077, 3080,
3083, 3090, 3097, 3100, 3103, 3106, 0, 0, 3109, 3112,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2738, 0, 0, 0, 2748, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3150, 3153,
3156, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3083, 0, 0, 0, 0, 0,
0, 3090, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3238, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3253,
3256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1770, 0, 0, 0, 0, 0, 0,
0, 808, 811, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3065, 0, 0,
0, 3071, 0, 0, 0, 3276, 0, 0, 0, 0,
1607, 0, 0, 0, 3083, 0, 0, 0, 0, 3090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3112, 0, 0, 0, 0, 0, 0, 0, 1695, 0,
0, 0, 0, 0, 1715, 1716, 0, 0, 0, 0,
1731, 1732, 0, 0, 0, 0, 0, 0, 0, 3303,
3306, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3333, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3346,
3349, 0, 0, 0, 0, 0, 811, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3372, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3382, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848, 1849, 1850, 1851, 1852, 1853, 0, 1854, 0, 0,
0, 0, 0, 0, 0, 1871, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1889, 0, 0, 0, 0,
0, 0, 0, 0, 1622, 0, 0, 0, 1636, 1643,
1650, 1657, 0, 1667, 1674, 0, 1682, 0, 0, 0,
0, 1697, 1704, 0, 0, 0, 0, 0, 0, 0,
0, 1725, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1946, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1977, 0, 0, 0, 1984,
1985, 1986, 1987, 0, 758, 1787, 0, 0, 0, 0,
766, 1797, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2021,
2022, 2023, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2051, 2052, 2053, 2054, 0, 0, 0,
2057, 0, 0, 0, 1857, 2061, 1865, 0, 0, 0,
2065, 0, 0, 0, 0, 2069, 0, 0, 0, 0,
2073, 0, 0, 0, 1883, 2077, 0, 0, 0, 0,
2081, 0, 0, 0, 0, 2085, 0, 2087, 0, 0,
892, 0, 0, 0, 0, 899, 0, 0, 0, 0,
906, 0, 0, 0, 0, 0, 0, 916, 1904, 0,
0, 1911, 1918, 0, 0, 0, 0, 0, 0, 935,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 958, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1953, 0, 0,
1961, 0, 0, 0, 0, 0, 1971, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1991, 0, 0, 0, 0,
1033, 2001, 2008, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1055, 0,
0, 0, 0, 1062, 0, 0, 0, 0, 1069, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 1100, 0, 0, 0, 0, 1107, 0,
0, 0, 0, 1114, 0, 0, 0, 0, 1121, 0,
0, 0, 0, 1128, 0, 0, 0, 0, 1135, 0,
0, 0, 0, 1142, 0, 0, 0, 0, 1149, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 2209, 2216, 149, 150, 630, 151,
631, 152, 153, 154, 155, 156, 632, 633, 157, 158,
159, 160, 161, 634, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 635, 179, 180, 181, 182, 183, 184, 185, 636,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
637, 196, 638, 639, 640, 1218, 1747, 2227, 2608, 2858,
3026, 1219, 1748, 2228, 2609, 2859, 3027, 3166, 197, 198,
199, 200, 641, 642, 643, 201, 202, 203, 204, 205,
206, 207, 208, 1220, 209, 210, 1221, 1222, 211, 212,
644, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 645, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 646, 242, 647, 648, 243, 244, 245, 246, 247,
649, 650, 248, 651, 652, 249, 653, 654, 655, 656,
657, 250, 658, 251, 252, 253, 254, 255, 256, 257,
258, 659, 660, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 1749, 2610,
274, 275, 661, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 662, 1223,
291, 292, 663, 664, 665, 666, 667, 1224, 1225, 293,
294, 295, 296, 668, 297, 298, 299, 300, 301, 302,
303, 669, 304, 305, 306, 670, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 671,
320, 321, 322, 323, 672, 673, 674, 324, 325, 326,
327, 328, 329, 330, 331, 675, 332, 333, 334, 676,
335, 677, 1226, 1750, 2229, 678, 336, 337, 679, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 680,
0, 358, 0, 0, 87, 0, 88, 0, 0, 89,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2654, 2655, 2656, 2657, 2658,
2659, 2660, 0, 0, 0, 0, 0, 0, 0, 0,
2492, 0, 0, 0, 0, 0, 1622, 2503, 0, 0,
2679, 0, 0, 0, 0, 0, 1636, 0, 0, 0,
0, 1643, 0, 0, 0, 0, 1650, 0, 0, 0,
0, 1657, 0, 0, 0, 0, 0, 0, 1667, 0,
0, 0, 0, 1674, 0, 0, 0, 0, 0, 1682,
2536, 0, 0, 0, 2712, 0, 0, 0, 0, 0,
1697, 0, 0, 0, 0, 1704, 2549, 2556, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1725, 2726, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1787, 0, 0, 0,
0, 0, 1797, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1857,
2665, 0, 0, 0, 0, 1865, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1883, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1904, 0, 0, 0, 0, 1911, 0, 0,
0, 0, 1918, 0, 0, 0, 935, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953, 0, 0, 0, 0, 0, 1961, 0, 0, 0,
0, 0, 0, 1971, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1991,
0, 0, 0, 0, 0, 2001, 0, 0, 0, 0,
2008, 2739, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1114, 0, 1121, 0, 0, 0, 0,
0, 1142, 0, 1149, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2981, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2209, 0, 0, 0, 0, 2216,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3040, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3057, 0, 0, 0,
3058, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3074, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2492, 0, 0, 0, 0, 0, 0,
2503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2536, 0, 0,
0, 0, 0, 0, 2549, 0, 0, 0, 0, 2556,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2665, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3084, 3091, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2739, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3337, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 3084, 0, 0, 0, 0, 3091,
149, 150, 630, 151, 631, 152, 153, 154, 155, 156,
632, 633, 157, 158, 159, 160, 161, 634, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 635, 179, 180, 181, 182,
183, 184, 185, 636, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 637, 196, 638, 639, 640, 1218,
1747, 2227, 2608, 2858, 3026, 1219, 1748, 2228, 2609, 2859,
3027, 0, 197, 198, 199, 200, 641, 642, 643, 201,
202, 203, 204, 205, 206, 207, 208, 1220, 209, 210,
1221, 1222, 211, 212, 644, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 645, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 646, 242, 647, 648, 243,
244, 245, 246, 247, 649, 650, 248, 651, 652, 249,
653, 654, 655, 656, 657, 250, 658, 251, 252, 253,
254, 255, 256, 257, 258, 659, 660, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 1749, 2610, 274, 275, 661, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 662, 1223, 291, 292, 663, 664, 665, 666,
667, 1224, 1225, 293, 294, 295, 296, 668, 297, 298,
299, 300, 301, 302, 303, 669, 304, 305, 306, 670,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 671, 320, 321, 322, 323, 672, 673,
674, 324, 325, 326, 327, 328, 329, 330, 331, 675,
332, 333, 334, 676, 335, 677, 1226, 1750, 2229, 678,
336, 337, 679, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 680, 0, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 630, 151,
631, 152, 153, 154, 155, 156, 632, 633, 157, 158,
159, 160, 161, 634, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 635, 179, 180, 181, 182, 183, 184, 185, 636,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
637, 196, 638, 639, 640, 1218, 1747, 2227, 2608, 2858,
0, 1219, 1748, 2228, 2609, 2859, 0, 0, 197, 198,
199, 200, 641, 642, 643, 201, 202, 203, 204, 205,
206, 207, 208, 1220, 209, 210, 1221, 1222, 211, 212,
644, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 645, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 646, 242, 647, 648, 243, 244, 245, 246, 247,
649, 650, 248, 651, 652, 249, 653, 654, 655, 656,
657, 250, 658, 251, 252, 253, 254, 255, 256, 257,
258, 659, 660, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 1749, 2610,
274, 275, 661, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 662, 1223,
291, 292, 663, 664, 665, 666, 667, 1224, 1225, 293,
294, 295, 296, 668, 297, 298, 299, 300, 301, 302,
303, 669, 304, 305, 306, 670, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 671,
320, 321, 322, 323, 672, 673, 674, 324, 325, 326,
327, 328, 329, 330, 331, 675, 332, 333, 334, 676,
335, 677, 1226, 1750, 2229, 678, 336, 337, 679, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 680,
0, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 630, 151, 631, 152, 153, 154,
155, 156, 632, 633, 157, 158, 159, 160, 161, 634,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 635, 179, 180,
181, 182, 183, 184, 185, 636, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 637, 196, 638, 639,
640, 1218, 1747, 2227, 2608, 0, 0, 1219, 1748, 2228,
2609, 0, 0, 0, 197, 198, 199, 200, 641, 642,
643, 201, 202, 203, 204, 205, 206, 207, 208, 1220,
209, 210, 1221, 1222, 211, 212, 644, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
645, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 646, 242, 647,
648, 243, 244, 245, 246, 247, 649, 650, 248, 651,
652, 249, 653, 654, 655, 656, 657, 250, 658, 251,
252, 253, 254, 255, 256, 257, 258, 659, 660, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 1749, 2610, 274, 275, 661, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 662, 1223, 291, 292, 663, 664,
665, 666, 667, 1224, 1225, 293, 294, 295, 296, 668,
297, 298, 299, 300, 301, 302, 303, 669, 304, 305,
306, 670, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 671, 320, 321, 322, 323,
672, 673, 674, 324, 325, 326, 327, 328, 329, 330,
331, 675, 332, 333, 334, 676, 335, 677, 1226, 1750,
2229, 678, 336, 337, 679, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 680, 0, 358, 0, 0,
87, 0, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
630, 151, 631, 152, 153, 154, 155, 156, 632, 633,
157, 158, 159, 160, 161, 634, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 635, 179, 180, 181, 182, 183, 184,
185, 636, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 637, 196, 638, 639, 640, 1218, 1747, 2227,
0, 0, 0, 1219, 1748, 2228, 0, 0, 0, 0,
197, 198, 199, 200, 641, 642, 643, 201, 202, 203,
204, 205, 206, 207, 208, 1220, 209, 210, 1221, 1222,
211, 212, 644, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 645, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 646, 242, 647, 648, 243, 244, 245,
246, 247, 649, 650, 248, 651, 652, 249, 653, 654,
655, 656, 657, 250, 658, 251, 252, 253, 254, 255,
256, 257, 258, 659, 660, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1749, 0, 274, 275, 661, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
662, 1223, 291, 292, 663, 664, 665, 666, 667, 1224,
1225, 293, 294, 295, 296, 668, 297, 298, 299, 300,
301, 302, 303, 669, 304, 305, 306, 670, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 671, 320, 321, 322, 323, 672, 673, 674, 324,
325, 326, 327, 328, 329, 330, 331, 675, 332, 333,
334, 676, 335, 677, 1226, 1750, 2229, 678, 336, 337,
679, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 680, 0, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 630, 151, 631, 152,
153, 154, 155, 156, 632, 633, 157, 158, 159, 160,
161, 634, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 635,
179, 180, 181, 182, 183, 184, 185, 636, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 637, 196,
638, 639, 640, 1218, 1747, 0, 0, 0, 0, 1219,
1748, 0, 0, 0, 0, 0, 197, 198, 199, 200,
641, 642, 643, 201, 202, 203, 204, 205, 206, 207,
208, 1220, 209, 210, 1221, 1222, 211, 212, 644, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 645, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 646,
242, 647, 648, 243, 244, 245, 246, 247, 649, 650,
248, 651, 652, 249, 653, 654, 655, 656, 657, 250,
658, 251, 252, 253, 254, 255, 256, 257, 258, 659,
660, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 1749, 0, 274, 275,
661, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 662, 1223, 291, 292,
663, 664, 665, 666, 667, 1224, 1225, 293, 294, 295,
296, 668, 297, 298, 299, 300, 301, 302, 303, 669,
304, 305, 306, 670, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 671, 320, 321,
322, 323, 672, 673, 674, 324, 325, 326, 327, 328,
329, 330, 331, 675, 332, 333, 334, 676, 335, 677,
1226, 1750, 0, 678, 336, 337, 679, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 680, 0, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 630, 151, 631, 152, 153, 154, 155, 156,
632, 633, 157, 158, 159, 160, 161, 634, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 635, 179, 180, 181, 182,
183, 184, 185, 636, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 637, 196, 638, 639, 640, 1218,
0, 0, 0, 0, 0, 1219, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 641, 642, 643, 201,
202, 203, 204, 205, 206, 207, 208, 1220, 209, 210,
1221, 1222, 211, 212, 644, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 645, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 646, 242, 647, 648, 243,
244, 245, 246, 247, 649, 650, 248, 651, 652, 249,
653, 654, 655, 656, 657, 250, 658, 251, 252, 253,
254, 255, 256, 257, 258, 659, 660, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 661, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 662, 1223, 291, 292, 663, 664, 665, 666,
667, 1224, 1225, 293, 294, 295, 296, 668, 297, 298,
299, 300, 301, 302, 303, 669, 304, 305, 306, 670,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 671, 320, 321, 322, 323, 672, 673,
674, 324, 325, 326, 327, 328, 329, 330, 331, 675,
332, 333, 334, 676, 335, 677, 1226, 0, 0, 678,
336, 337, 679, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 680, 0, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 630, 151,
631, 152, 153, 154, 155, 156, 632, 633, 157, 158,
159, 160, 161, 634, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 635, 179, 180, 181, 182, 183, 184, 185, 636,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
637, 196, 638, 639, 640, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 641, 642, 643, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
644, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 645, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 646, 242, 647, 648, 243, 244, 245, 246, 247,
649, 650, 248, 651, 652, 249, 653, 654, 655, 656,
657, 250, 658, 251, 252, 253, 254, 255, 256, 257,
258, 659, 660, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 661, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 662, 0,
291, 292, 663, 664, 665, 666, 667, 0, 0, 293,
294, 295, 296, 668, 297, 298, 299, 300, 301, 302,
303, 669, 304, 305, 306, 670, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 671,
320, 321, 322, 323, 672, 673, 674, 324, 325, 326,
327, 328, 329, 330, 331, 675, 332, 333, 334, 676,
335, 677, 0, 0, 0, 678, 336, 337, 679, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 680,
0, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 148, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 360, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 398, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 1233,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1236, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1253, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1254, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1267, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1268, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1269, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1270, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1271, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1274, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1275, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1320, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1321, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1322, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1323, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1324, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1325, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1326, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1327, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1328, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1329, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1332, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1335, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1336, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 1354, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1355, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
1356, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1360, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1361, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1363, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1364, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1365, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1366, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1371, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1372, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1373, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
1377, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1424, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1425, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1426, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1427, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1428, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1429, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1430, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1431, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1432, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1433, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1457, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1458, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1463, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 1467, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 1473, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1503, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 1509, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 1510, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 1511, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
1512, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 1533, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
1535, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 1536, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 1595, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1753, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 1754, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2095, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2096, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2102, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2103, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2104, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2105, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2106, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2107, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2108, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2109, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 2110, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2111, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 2117, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2154, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 2160, 358, 0, 0,
87, 0, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 2176, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 2177, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2194, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2195, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2196, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 2232,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2233, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2234, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2235, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2236, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2237, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 2238, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2247, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2248, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2249, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 2250,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2263, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2295, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2296, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 2304, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 2310, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2317, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2318, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2319, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2320, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2321, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 2322, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 2323, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2324, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2325, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2326, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2335, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 2353, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2357, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2358, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2359, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2360, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2361, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2362, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2363, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2364, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2365, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 2366, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2367, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 2369, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2370, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2372, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2373, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2381, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 2421, 358, 0, 0,
87, 0, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2434, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2441, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 2442, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2465, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2466, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2583, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2584, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2600, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2762, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2763, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2778, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 2784, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2794, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2796, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2799, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 2800, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 2802, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2848, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2849, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2851, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2861, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2862, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2863, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2864, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 2865, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2866, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2868, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2869, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
2870, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2871, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2876, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 2877, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2882, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 2883, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2884, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 2885,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 2887, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2890, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
2910, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 2911, 358, 0, 0,
87, 0, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 2912, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 2913, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 2914, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2923, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2927, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2928, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 2929, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 2930, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
2931, 358, 0, 0, 87, 0, 88, 0, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 2932, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
2933, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 2934, 358,
0, 0, 87, 0, 88, 0, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 2935, 358, 0, 0, 87, 0,
88, 0, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2937, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 2938, 358, 0, 0,
87, 0, 88, 0, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 2939, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 2942, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 2945, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2955, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 2956, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 2957,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 2961, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 2962, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 2963, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 3018, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3019, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 3020, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3122, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 3123, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3124, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 3125,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3126, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3127, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3128, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 3129, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 3133,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3134, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3135, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3139, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 3159, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3160, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3167, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3173, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3174, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3175, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 3179,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3183, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3184, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3185, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3186, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3187, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 3188, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3189, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 3191, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3204, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3205, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 3232, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3233, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3236, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3243, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 3244,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 0, 3259, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3260, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 3290, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3293, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 3294, 358, 0, 0, 87, 0, 88, 0,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3295, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3296, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 3309, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 3310, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3312, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3313, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 0, 3317, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 3318, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 3319, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3320, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3321, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3328, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3329, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3331, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3332, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3338, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3339, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 0, 3352, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3362, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 3364,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3365, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3375, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3377, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3378, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 0,
3379, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3380, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3381, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3385, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 3386, 0, 89, 65, 66, 67, 68,
69, 70, 71, 72, 0, 73, 74, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 76, 0, 146, 77, 147, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 81, 82, 83, 84, 85, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
0, 151, 0, 152, 153, 154, 155, 156, 0, 0,
157, 158, 159, 160, 161, 0, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 0, 179, 180, 181, 182, 183, 184,
185, 0, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 0, 196, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197, 198, 199, 200, 0, 0, 0, 201, 202, 203,
204, 205, 206, 207, 208, 0, 209, 210, 0, 0,
211, 212, 0, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, 223, 224, 225, 0, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 0, 242, 0, 0, 243, 244, 245,
246, 247, 0, 0, 248, 0, 0, 249, 0, 0,
0, 0, 0, 250, 0, 251, 252, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
0, 0, 274, 275, 0, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
0, 0, 291, 292, 0, 0, 0, 0, 0, 0,
0, 293, 294, 295, 296, 0, 297, 298, 299, 300,
301, 302, 303, 0, 304, 305, 306, 0, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 0, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 333,
334, 0, 335, 0, 0, 0, 0, 0, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 0, 358, 0, 0, 87, 0, 88, 3394,
0, 89, 65, 66, 67, 68, 69, 70, 71, 72,
0, 73, 74, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 75, 0, 0, 0, 0, 0, 76,
0, 146, 77, 147, 78, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79, 80, 81,
82, 83, 84, 85, 86, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 150, 0, 151, 0, 152,
153, 154, 155, 156, 0, 0, 157, 158, 159, 160,
161, 0, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 0, 196,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 198, 199, 200,
0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
208, 0, 209, 210, 0, 0, 211, 212, 0, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 0, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 0,
242, 0, 0, 243, 244, 245, 246, 247, 0, 0,
248, 0, 0, 249, 0, 0, 0, 0, 0, 250,
0, 251, 252, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 0, 0, 274, 275,
0, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 0, 0, 291, 292,
0, 0, 0, 0, 0, 0, 0, 293, 294, 295,
296, 0, 297, 298, 299, 300, 301, 302, 303, 0,
304, 305, 306, 0, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 0, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 333, 334, 0, 335, 0,
0, 0, 0, 0, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 0, 358,
0, 0, 87, 0, 88, 3395, 0, 89, 65, 66,
67, 68, 69, 70, 71, 72, 0, 73, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 76, 0, 146, 77, 147,
78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149, 150, 0, 151, 0, 152, 153, 154, 155, 156,
0, 0, 157, 158, 159, 160, 161, 0, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
183, 184, 185, 0, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 0, 196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 197, 198, 199, 200, 0, 0, 0, 201,
202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
0, 0, 211, 212, 0, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 0, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 0, 242, 0, 0, 243,
244, 245, 246, 247, 0, 0, 248, 0, 0, 249,
0, 0, 0, 0, 0, 250, 0, 251, 252, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 0, 0, 274, 275, 0, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 0, 0, 291, 292, 0, 0, 0, 0,
0, 0, 0, 293, 294, 295, 296, 0, 297, 298,
299, 300, 301, 302, 303, 0, 304, 305, 306, 0,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
0, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 333, 334, 0, 335, 0, 0, 0, 0, 0,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 0, 358, 0, 0, 87, 0,
88, 3397, 0, 89, 65, 66, 67, 68, 69, 70,
71, 72, 0, 73, 74, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
0, 76, 0, 146, 77, 147, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
80, 81, 82, 83, 84, 85, 86, 0, 0, 0,
0, 0, 0, 0, 0, 0, 149, 150, 0, 151,
0, 152, 153, 154, 155, 156, 0, 0, 157, 158,
159, 160, 161, 0, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 0, 179, 180, 181, 182, 183, 184, 185, 0,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
0, 196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 197, 198,
199, 200, 0, 0, 0, 201, 202, 203, 204, 205,
206, 207, 208, 0, 209, 210, 0, 0, 211, 212,
0, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 0, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 0, 242, 0, 0, 243, 244, 245, 246, 247,
0, 0, 248, 0, 0, 249, 0, 0, 0, 0,
0, 250, 0, 251, 252, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
274, 275, 0, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 0, 0,
291, 292, 0, 0, 0, 0, 0, 0, 0, 293,
294, 295, 296, 0, 297, 298, 299, 300, 301, 302,
303, 0, 304, 305, 306, 0, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 0, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 333, 334, 0,
335, 0, 0, 0, 0, 0, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
0, 358, 0, 0, 87, 0, 88, 3398, 0, 89,
65, 66, 67, 68, 69, 70, 71, 72, 0, 73,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 75, 0, 0, 0, 0, 0, 76, 0, 146,
77, 147, 78, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 79, 80, 81, 82, 83,
84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 149, 150, 0, 151, 0, 152, 153, 154,
155, 156, 0, 0, 157, 158, 159, 160, 161, 0,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 0, 196, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
0, 201, 202, 203, 204, 205, 206, 207, 208, 0,
209, 210, 0, 0, 211, 212, 0, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
0, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 0, 242, 0,
0, 243, 244, 245, 246, 247, 0, 0, 248, 0,
0, 249, 0, 0, 0, 0, 0, 250, 0, 251,
252, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 0, 0, 274, 275, 0, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 0, 0, 291, 292, 0, 0,
0, 0, 0, 0, 0, 293, 294, 295, 296, 0,
297, 298, 299, 300, 301, 302, 303, 0, 304, 305,
306, 0, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 0, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 333, 334, 0, 335, 0, 0, 0,
0, 0, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 0, 358, 0, 0,
87, 0, 88, 0, 0, 89
};
static const yytype_int16 yycheck[] =
{
15, 16, 1419, 1318, 1316, 2241, 1314, 1168, 1312, 1487,
1563, 1568, 1583, 1588, 2293, 17, 18, 5, 45, 7,
63, 122, 5, 5, 12, 13, 6, 67, 138, 5,
138, 405, 5, 30, 7, 8, 9, 10, 14, 12,
13, 127, 128, 5, 5, 7, 5, 1208, 7, 8,
12, 13, 371, 707, 30, 709, 5, 5, 377, 7,
8, 9, 10, 369, 12, 13, 63, 369, 50, 30,
376, 9, 87, 88, 376, 63, 374, 50, 51, 377,
14, 30, 374, 63, 111, 377, 1247, 369, 103, 104,
105, 106, 119, 369, 376, 374, 84, 5, 377, 5,
376, 63, 50, 51, 38, 64, 40, 41, 42, 369,
5, 369, 27, 47, 48, 49, 376, 132, 376, 30,
135, 136, 84, 374, 374, 374, 377, 377, 377, 144,
145, 146, 147, 371, 372, 5, 84, 7, 8, 9,
10, 374, 12, 13, 377, 27, 148, 376, 377, 45,
46, 58, 59, 7, 8, 7, 8, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 135, 136,
27, 30, 0, 369, 17, 19, 21, 24, 20, 83,
50, 51, 22, 52, 23, 52, 5, 5, 5, 5,
5, 39, 5, 34, 373, 373, 34, 373, 44, 36,
5, 5, 5, 5, 50, 373, 373, 53, 377, 55,
10, 36, 376, 375, 375, 375, 375, 63, 375, 375,
375, 375, 68, 69, 70, 71, 72, 73, 74, 75,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 3, 4, 5, 6, 7, 8,
9, 10, 375, 12, 13, 375, 3, 4, 5, 6,
7, 8, 9, 10, 375, 12, 13, 43, 375, 375,
375, 375, 375, 375, 52, 375, 375, 375, 375, 375,
381, 375, 375, 375, 375, 44, 375, 375, 375, 52,
375, 50, 375, 375, 53, 405, 55, 44, 375, 375,
375, 387, 375, 50, 63, 375, 53, 375, 55, 68,
69, 70, 71, 72, 73, 74, 75, 375, 375, 375,
375, 68, 69, 70, 71, 72, 73, 74, 75, 375,
375, 374, 372, 707, 375, 709, 375, 375, 375, 375,
375, 375, 375, 375, 359, 375, 375, 375, 6, 375,
375, 375, 375, 375, 375, 375, 375, 375, 360, 375,
362, 376, 389, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 34, 375, 390, 375, 375, 7, 375,
375, 375, 375, 375, 375, 373, 375, 375, 376, 375,
373, 375, 377, 65, 375, 373, 375, 412, 375, 414,
373, 374, 373, 418, 419, 420, 421, 422, 423, 424,
375, 373, 375, 375, 371, 375, 431, 432, 433, 434,
435, 436, 437, 438, 439, 373, 5, 377, 443, 375,
445, 446, 375, 448, 375, 375, 375, 101, 375, 375,
375, 62, 375, 375, 375, 375, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 375, 472, 375, 474,
475, 476, 375, 375, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 375,
375, 506, 507, 508, 509, 375, 511, 375, 375, 375,
375, 375, 375, 373, 375, 63, 521, 522, 523, 524,
525, 526, 375, 375, 375, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 373, 377, 375,
65, 412, 378, 369, 369, 550, 551, 552, 553, 554,
555, 375, 375, 558, 375, 560, 561, 376, 563, 375,
565, 375, 567, 568, 569, 570, 571, 572, 573, 574,
575, 375, 65, 578, 375, 375, 581, 582, 375, 584,
585, 586, 587, 369, 375, 590, 591, 592, 593, 594,
1741, 375, 375, 375, 599, 600, 601, 602, 603, 604,
375, 606, 375, 608, 609, 610, 611, 707, 375, 709,
710, 711, 710, 711, 375, 620, 621, 622, 375, 624,
625, 712, 2891, 375, 373, 375, 375, 375, 375, 378,
375, 375, 375, 375, 375, 5, 373, 374, 375, 375,
375, 378, 375, 375, 14, 15, 16, 375, 18, 19,
20, 21, 22, 23, 24, 25, 26, 375, 28, 29,
375, 31, 32, 33, 375, 35, 375, 37, 375, 375,
375, 375, 375, 690, 375, 375, 681, 375, 375, 684,
685, 375, 687, 375, 375, 375, 56, 375, 375, 375,
60, 375, 697, 375, 375, 700, 66, 702, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 83, 375, 375, 375, 375, 375, 375,
375, 726, 714, 375, 729, 375, 375, 732, 375, 375,
735, 375, 375, 738, 375, 375, 741, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 753, 375,
375, 756, 375, 375, 375, 375, 761, 375, 375, 375,
375, 375, 375, 375, 769, 375, 375, 375, 375, 375,
375, 776, 375, 375, 375, 780, 375, 375, 783, 376,
376, 786, 377, 377, 789, 376, 376, 792, 376, 376,
795, 377, 376, 798, 376, 376, 801, 377, 377, 804,
376, 369, 807, 376, 376, 810, 376, 369, 813, 65,
377, 377, 377, 376, 65, 376, 369, 377, 377, 377,
377, 826, 377, 377, 376, 830, 376, 376, 369, 376,
369, 836, 369, 369, 839, 369, 376, 369, 376, 369,
369, 376, 65, 376, 65, 376, 369, 65, 376, 376,
376, 65, 65, 377, 376, 376, 376, 376, 376, 376,
369, 377, 867, 377, 376, 870, 377, 377, 376, 376,
369, 376, 877, 376, 369, 369, 881, 369, 376, 884,
376, 369, 887, 369, 65, 890, 376, 376, 65, 376,
895, 376, 369, 377, 376, 376, 376, 902, 2463, 377,
2461, 377, 376, 376, 909, 376, 376, 376, 2455, 914,
2453, 376, 376, 369, 919, 377, 376, 376, 369, 369,
369, 376, 369, 369, 369, 930, 369, 369, 933, 377,
369, 65, 376, 938, 65, 376, 2404, 377, 376, 376,
376, 369, 377, 369, 376, 376, 376, 3173, 953, 2356,
369, 956, 376, 369, 377, 376, 961, 377, 376, 369,
377, 966, 376, 376, 969, 377, 2271, 972, 2270, 369,
975, 2269, 376, 978, 2268, 377, 369, 369, 369, 369,
369, 377, 987, 65, 369, 990, 65, 369, 65, 994,
377, 377, 369, 377, 999, 65, 369, 377, 1003, 65,
370, 371, 1007, 369, 65, 377, 369, 65, 377, 369,
377, 369, 376, 375, 1019, 376, 371, 1022, 377, 376,
376, 1026, 375, 375, 1029, 375, 375, 375, 375, 375,
59, 1036, 376, 65, 65, 65, 371, 65, 65, 65,
1045, 65, 65, 1048, 65, 65, 65, 65, 65, 65,
65, 65, 65, 1058, 65, 65, 65, 65, 371, 371,
1065, 371, 376, 65, 65, 376, 65, 1072, 376, 376,
65, 377, 1077, 376, 2225, 376, 376, 369, 377, 376,
65, 1086, 377, 377, 369, 65, 377, 1092, 376, 376,
65, 377, 369, 377, 65, 369, 377, 376, 1103, 65,
376, 376, 65, 376, 376, 1110, 377, 377, 376, 369,
369, 376, 1117, 376, 65, 376, 369, 65, 376, 1124,
377, 376, 376, 375, 369, 375, 1131, 375, 375, 65,
65, 377, 376, 1138, 377, 377, 377, 377, 377, 376,
1145, 376, 369, 376, 65, 377, 377, 1152, 377, 377,
65, 377, 377, 377, 376, 1160, 376, 369, 377, 369,
377, 377, 377, 1168, 1169, 1170, 377, 1172, 377, 1174,
1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 377,
1185, 369, 369, 369, 369, 369, 376, 65, 377, 65,
1195, 65, 1197, 376, 376, 1200, 65, 377, 1203, 1204,
376, 1206, 1207, 1208, 377, 376, 376, 1212, 1213, 1214,
1215, 1216, 377, 376, 65, 377, 376, 65, 377, 376,
369, 377, 1227, 376, 376, 376, 65, 377, 376, 65,
377, 1236, 377, 376, 65, 377, 376, 376, 376, 376,
376, 376, 1247, 376, 1249, 377, 1251, 377, 1253, 1254,
1255, 377, 1257, 376, 1259, 3, 4, 5, 6, 7,
8, 9, 10, 377, 12, 13, 1271, 376, 369, 1274,
1275, 1276, 377, 369, 376, 369, 1281, 376, 376, 376,
369, 376, 1287, 369, 377, 376, 376, 65, 376, 376,
65, 369, 376, 1298, 369, 376, 44, 369, 369, 65,
376, 65, 50, 65, 65, 53, 65, 55, 65, 65,
65, 65, 376, 376, 65, 377, 376, 376, 65, 375,
68, 69, 70, 71, 72, 73, 74, 75, 377, 375,
1335, 1336, 375, 65, 65, 65, 65, 1342, 1343, 1344,
1345, 1346, 1347, 65, 1349, 65, 65, 65, 1353, 65,
1355, 65, 1357, 65, 65, 1360, 1361, 65, 1363, 1364,
1365, 1366, 65, 65, 1369, 377, 1371, 1372, 1373, 376,
376, 376, 1377, 377, 377, 65, 65, 377, 369, 377,
377, 377, 1387, 376, 65, 377, 376, 1392, 377, 1394,
65, 377, 1397, 376, 376, 376, 65, 376, 376, 1404,
376, 65, 376, 375, 377, 375, 375, 65, 1413, 376,
65, 376, 369, 377, 376, 1420, 377, 377, 377, 1424,
1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
377, 377, 377, 377, 1439, 376, 376, 376, 376, 376,
369, 65, 1447, 376, 1449, 377, 376, 65, 376, 376,
376, 1456, 1457, 1458, 377, 377, 376, 376, 65, 377,
377, 377, 376, 1468, 376, 376, 376, 376, 65, 65,
377, 377, 1477, 376, 375, 375, 1481, 1482, 1483, 1484,
65, 65, 376, 376, 65, 377, 377, 376, 375, 375,
65, 376, 1497, 377, 377, 376, 376, 376, 1503, 369,
377, 369, 377, 375, 377, 376, 1511, 1512, 1513, 376,
1515, 376, 65, 377, 376, 1520, 377, 376, 376, 376,
1525, 376, 65, 377, 376, 18, 369, 377, 1533, 376,
376, 376, 1537, 377, 1539, 376, 1541, 377, 138, 377,
1545, 1546, 1547, 1548, 376, 1550, 376, 1552, 377, 377,
1555, 377, 1557, 376, 376, 1560, 377, 1562, 376, 376,
1565, 376, 1567, 377, 377, 1570, 376, 1572, 377, 377,
1575, 376, 1577, 377, 376, 1580, 2881, 1582, 2880, 698,
1585, 2879, 1587, 132, 1589, 2866, 758, 1592, 1284, 2256,
1595, 1787, 766, 2262, 1797, 1290, 1306, 1310, 1300, 2284,
2288, 1606, 2309, 1302, 2290, 1610, 1330, 2908, 1857, 2665,
2315, 1865, 2783, 2492, 3197, 3201, 2331, 2116, 1883, 1622,
1625, 2790, 2503, 892, 2126, 373, 1631, 375, 1390, 1634,
378, 2131, 1636, 899, 1639, 1395, 1643, 2141, 2136, 2148,
2153, 1646, 1674, 1407, 1400, 2342, 1667, 1904, 1653, 916,
1911, 2347, 2352, 2159, 1918, 1660, 2536, 906, 2807, 3214,
1665, 3084, 3219, 3091, 1442, 1670, 3230, 1657, 958, 2170,
1650, 935, 1677, 2814, 2549, 2819, 2594, 2209, 2175, 2556,
1685, 2216, 2599, 1953, 2386, 2380, 1691, 1961, 1971, 1694,
2393, 2409, 1991, 1033, 2415, 1700, 1485, 2001, 1500, 2954,
2420, 2008, 1707, 2739, 2191, 1682, 2857, 1518, 1062, 1714,
1055, 1523, 2958, 2439, 1089, 1720, 1114, 1100, 1723, 1107,
1121, 1128, 1544, 1728, 1578, 1573, 1069, 1135, -1, 1528,
-1, 1142, 1697, 1738, 1739, 1740, 1741, -1, 1558, -1,
1704, 1746, -1, 1553, 1149, -1, 1751, -1, 1753, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1725, 1769, -1, -1, 1772, -1, -1,
1775, -1, -1, 1778, -1, -1, -1, -1, 1783, -1,
-1, -1, -1, -1, -1, 1790, -1, -1, 1793, -1,
-1, -1, -1, -1, -1, 1800, -1, -1, -1, -1,
-1, 3, 4, 5, 6, 7, 8, 9, 10, 1814,
12, 13, 1817, -1, -1, 1820, -1, -1, 1823, -1,
-1, 1826, -1, -1, 1829, -1, -1, 1832, -1, -1,
1835, -1, -1, 1838, -1, -1, 1841, -1, -1, -1,
1845, -1, 44, -1, -1, -1, -1, -1, 50, -1,
-1, 53, -1, 55, -1, 1860, -1, -1, -1, -1,
-1, -1, -1, 1868, -1, -1, 68, 69, 70, 71,
72, 73, 74, 75, -1, -1, -1, 3182, -1, 3181,
-1, 1886, -1, -1, -1, 1890, -1, -1, 1893, -1,
-1, -1, 1897, -1, -1, 1900, -1, -1, -1, -1,
-1, -1, 1907, -1, -1, -1, -1, -1, -1, 1914,
-1, -1, -1, -1, -1, -1, 1921, -1, -1, -1,
1925, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1941, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1951, -1, -1, -1,
-1, 1956, -1, -1, -1, -1, -1, -1, -1, 1964,
-1, -1, -1, -1, 1969, -1, -1, -1, -1, 1974,
-1, -1, -1, -1, -1, 1980, -1, -1, 1983, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1994,
-1, -1, 1997, -1, -1, -1, -1, -1, -1, 2004,
-1, -1, -1, -1, -1, -1, 2011, -1, -1, -1,
-1, 3316, 2017, -1, -1, 2020, -1, -1, -1, 2024,
-1, -1, 2027, -1, -1, 2030, -1, -1, -1, -1,
2035, -1, -1, -1, 2039, -1, -1, 2042, -1, -1,
2045, -1, -1, 2048, -1, -1, -1, -1, -1, -1,
2055, -1, -1, -1, 2059, -1, -1, -1, 2063, -1,
-1, -1, 2067, -1, -1, -1, 2071, -1, -1, -1,
2075, -1, -1, -1, 2079, -1, -1, -1, 2083, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2095, 2096, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2109, -1, 2111, -1, 2113, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2123, -1,
-1, -1, -1, 2128, -1, -1, -1, -1, 2133, -1,
2135, -1, -1, 2138, -1, 2140, -1, -1, -1, -1,
2145, -1, -1, -1, -1, 2150, -1, 2152, -1, 2154,
-1, 2156, -1, 2158, -1, -1, -1, -1, -1, -1,
-1, -1, 2167, -1, -1, -1, -1, 2172, -1, -1,
-1, 373, 374, 375, -1, -1, 378, -1, -1, -1,
-1, -1, -1, 2188, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2204,
-1, -1, 2207, -1, -1, -1, -1, 2212, -1, -1,
-1, -1, -1, -1, 2219, -1, -1, -1, 2223, 2224,
2225, 2226, -1, -1, -1, 2230, -1, -1, 2233, 2234,
2235, 2236, 2237, -1, 2239, -1, -1, -1, 2243, -1,
2245, -1, 2247, 2248, -1, -1, -1, -1, 2253, -1,
-1, -1, -1, -1, 2259, -1, -1, -1, 2263, -1,
-1, 2266, -1, -1, -1, -1, -1, 2272, -1, 2274,
-1, -1, -1, -1, -1, 2280, -1, 2282, -1, -1,
-1, 2286, -1, -1, -1, -1, -1, 2292, -1, -1,
-1, -1, 2297, 2298, 2299, 2300, 2301, 2302, 2303, -1,
-1, 2306, -1, -1, -1, -1, -1, 2312, -1, -1,
-1, -1, 2317, 2318, 2319, 2320, 2321, 2322, -1, -1,
-1, -1, -1, 2328, -1, -1, -1, -1, -1, -1,
2335, -1, -1, -1, 2339, -1, -1, -1, -1, 2344,
-1, -1, -1, -1, 2349, -1, -1, -1, -1, -1,
-1, -1, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364,
2365, 2366, -1, -1, -1, 2370, -1, 2372, 2373, -1,
-1, -1, 2377, -1, -1, -1, -1, -1, 2383, -1,
-1, -1, 2387, -1, -1, 2390, -1, -1, -1, 2394,
-1, -1, -1, -1, -1, -1, -1, -1, 2403, -1,
-1, 2406, -1, -1, -1, -1, -1, 2412, -1, -1,
-1, -1, 2417, -1, -1, -1, -1, 2422, -1, 2424,
-1, -1, -1, -1, -1, -1, -1, 2432, -1, -1,
-1, -1, -1, -1, -1, -1, 2441, -1, -1, -1,
-1, 2446, 2447, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2471, -1, -1, 2474,
-1, -1, 2477, -1, -1, 2480, -1, -1, 2483, -1,
-1, 2486, -1, -1, 2489, -1, -1, -1, -1, -1,
2495, -1, -1, -1, 2499, -1, -1, -1, -1, -1,
-1, 2506, -1, -1, 2509, -1, -1, 2512, -1, -1,
2515, -1, -1, -1, 2519, -1, -1, -1, 2523, -1,
-1, 2526, -1, -1, -1, -1, 2531, -1, -1, -1,
-1, -1, -1, -1, 2539, -1, -1, 2542, -1, -1,
2545, -1, -1, -1, -1, -1, -1, 2552, -1, -1,
-1, -1, -1, -1, 2559, -1, -1, -1, -1, 2564,
-1, -1, 2567, 2568, -1, -1, -1, -1, 2573, -1,
-1, 2576, -1, -1, 2579, -1, -1, 2582, -1, -1,
-1, -1, -1, -1, -1, -1, 2591, -1, -1, -1,
-1, 2596, -1, -1, -1, -1, -1, -1, -1, -1,
2605, 2606, 2607, -1, -1, -1, 2611, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2625, 2626, -1, -1, 2629, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2650, -1, -1, 2653, -1,
-1, -1, -1, -1, -1, -1, 2661, -1, -1, -1,
-1, -1, -1, 2668, -1, -1, 2671, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2682, -1, -1,
2685, -1, -1, 2688, 2689, -1, -1, -1, 2693, -1,
-1, 2696, -1, -1, 2699, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2716, -1, -1, 2719, -1, -1, -1, 2723, -1,
-1, -1, -1, -1, 2729, -1, -1, 2732, -1, -1,
2735, -1, -1, -1, -1, -1, -1, 2742, -1, -1,
-1, -1, -1, -1, -1, 2750, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2761, 2762, 2763, -1,
-1, -1, -1, 2768, -1, 2770, -1, 2772, -1, 2774,
-1, 2776, -1, 2778, -1, 2780, -1, -1, -1, 2784,
-1, -1, 2787, -1, -1, -1, -1, -1, -1, 2794,
-1, 2796, -1, -1, 2799, -1, -1, -1, -1, 2804,
-1, 2806, -1, -1, -1, -1, 2811, -1, -1, -1,
-1, 2816, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2835, -1, -1, 2838, 2839, -1, -1, 2842, -1, -1,
-1, -1, 2847, -1, -1, -1, -1, -1, -1, -1,
2855, 2856, 2857, -1, -1, 2860, 2861, -1, -1, -1,
-1, -1, 2867, 2868, 2869, 2870, -1, -1, -1, -1,
-1, 2876, -1, -1, -1, -1, -1, 2882, 2883, 2884,
-1, 2886, -1, 2888, 2889, 2890, -1, -1, -1, 2894,
-1, -1, -1, 2898, -1, -1, -1, 2902, -1, -1,
2905, -1, -1, -1, -1, -1, -1, -1, -1, 2914,
-1, -1, -1, -1, -1, 2920, -1, -1, -1, -1,
-1, -1, 2927, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2945, 2946, -1, -1, -1, -1, 2951, -1, -1, -1,
-1, -1, -1, -1, -1, 2960, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2978, -1, -1, -1, 2982, -1, -1,
-1, -1, -1, -1, -1, 2990, 2991, -1, -1, -1,
2995, -1, -1, 2998, -1, -1, 3001, -1, 3003, -1,
-1, -1, -1, -1, -1, -1, 3011, -1, -1, 3014,
-1, -1, 3017, -1, -1, -1, -1, -1, -1, 3024,
3025, -1, -1, 3028, -1, -1, -1, 3032, -1, -1,
3035, -1, -1, -1, -1, -1, -1, -1, 3043, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3059, -1, -1, -1, -1, 3064,
-1, -1, 3067, -1, -1, 3070, -1, -1, 3073, -1,
-1, -1, -1, -1, 3079, -1, -1, 3082, -1, -1,
-1, -1, 3087, -1, -1, -1, -1, -1, -1, 3094,
-1, -1, -1, -1, 3099, -1, -1, 3102, -1, -1,
3105, -1, -1, 3108, -1, -1, 3111, -1, -1, 3114,
-1, -1, 3117, -1, -1, -1, -1, 3122, -1, -1,
-1, -1, 3127, -1, 3129, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3144,
-1, 3146, -1, -1, -1, -1, -1, 3152, -1, -1,
3155, -1, -1, 3158, -1, -1, -1, -1, -1, 3164,
3165, -1, -1, 3168, -1, 3170, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3187, 3188, 3189, 3190, 3191, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3211, -1, -1, -1,
-1, 3216, -1, -1, -1, -1, -1, -1, -1, 3224,
-1, 3226, -1, -1, -1, -1, -1, 3232, 3233, -1,
-1, -1, -1, -1, -1, 3240, -1, -1, -1, -1,
-1, -1, 3247, -1, 3249, -1, -1, -1, -1, -1,
3255, -1, -1, 3258, -1, -1, -1, -1, 3263, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3278, 3279, -1, -1, 3282, -1, -1,
-1, -1, -1, -1, -1, -1, 3291, -1, -1, 3294,
-1, -1, -1, -1, 3299, -1, 3301, -1, -1, -1,
3305, -1, -1, 3308, -1, -1, -1, 3312, -1, -1,
-1, -1, 3317, 3318, 3319, 3320, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3332, -1, -1,
3335, -1, -1, -1, -1, -1, -1, 3342, -1, 3344,
-1, -1, -1, 3348, -1, -1, 3351, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3368, -1, 3370, -1, -1, -1, 3374,
-1, -1, -1, -1, 3379, -1, -1, -1, -1, 3384,
-1, -1, -1, -1, 3389, 425, 426, 427, 428, 429,
430, -1, -1, -1, -1, -1, -1, -1, -1, -1,
440, 441, 442, -1, 444, -1, -1, 447, -1, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 471, -1, 473, -1, -1, -1, 477, 478, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 504, 505, -1, -1, -1, -1,
510, -1, 512, 513, 514, 515, 516, 517, 518, 519,
520, -1, -1, -1, -1, -1, -1, 527, 528, 529,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 542, 543, 544, 545, 546, 547, 548, 549,
-1, -1, -1, -1, -1, -1, 556, 557, -1, 559,
-1, -1, 562, -1, 564, -1, 566, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 576, 577, -1, 579,
580, -1, -1, 583, -1, -1, -1, -1, 588, 589,
-1, -1, -1, -1, -1, 595, 596, 597, 598, -1,
-1, -1, -1, -1, -1, 605, -1, 607, -1, -1,
-1, -1, 612, 613, 614, 615, 616, 617, 618, 619,
5, -1, -1, 623, -1, -1, -1, -1, -1, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, -1, 28, 29, -1, 31, 32, 33, -1,
35, -1, 37, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
-1, 56, -1, -1, -1, 60, -1, -1, 14, 15,
16, 66, 18, 19, 20, 21, 22, 23, 24, 25,
26, -1, 28, 29, -1, 31, 32, 33, 83, 35,
-1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
56, -1, -1, -1, 60, -1, -1, -1, -1, -1,
66, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 83, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 758, -1,
-1, -1, -1, -1, -1, -1, 766, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 892, -1, -1, -1, -1, -1, -1, 899,
-1, -1, -1, -1, -1, -1, 906, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 916, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 935, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 958, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 370, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1033, 370, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1055, -1, -1, -1, -1,
-1, -1, 1062, -1, -1, -1, -1, -1, -1, 1069,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1089,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1100, -1, -1, -1, -1, -1, -1, 1107, -1, -1,
-1, -1, -1, -1, 1114, -1, -1, -1, -1, -1,
-1, 1121, -1, -1, -1, -1, -1, -1, 1128, -1,
-1, -1, -1, -1, -1, 1135, -1, -1, -1, -1,
-1, -1, 1142, -1, -1, -1, -1, -1, -1, 1149,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1171, -1, 1173, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1184, -1, 1186, 1187, 1188, 1189,
1190, 1191, 1192, 1193, 1194, -1, 1196, -1, 1198, 1199,
-1, 1201, 1202, -1, -1, 1205, -1, -1, -1, 1209,
1210, 1211, -1, -1, -1, -1, -1, 1217, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1267, 1268, 1269,
1270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1284, 1285, -1, -1, -1, -1,
1290, 1291, -1, -1, -1, -1, -1, -1, -1, -1,
1300, -1, 1302, -1, -1, -1, 1306, -1, -1, -1,
1310, -1, 1312, -1, 1314, -1, 1316, -1, 1318, -1,
1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
1330, -1, 1332, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1354, -1, 1356, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1374, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1390, -1, -1, -1, -1, 1395, -1, -1, -1, -1,
1400, -1, -1, -1, -1, -1, -1, 1407, 1408, -1,
-1, 1411, 1412, -1, -1, -1, -1, -1, -1, 1419,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1442, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1463, -1, -1, -1, 1467, -1, -1,
1470, -1, -1, 1473, -1, -1, 1476, -1, -1, 1479,
1480, -1, -1, -1, -1, 1485, -1, 1487, -1, -1,
-1, -1, -1, -1, -1, 1495, -1, -1, -1, -1,
1500, 1501, 1502, -1, -1, -1, -1, -1, -1, 1509,
1510, -1, -1, -1, -1, -1, -1, -1, 1518, -1,
-1, -1, -1, 1523, -1, -1, -1, -1, 1528, -1,
-1, 1531, -1, -1, 1534, 1535, 1536, -1, -1, -1,
-1, -1, -1, -1, 1544, -1, -1, -1, -1, -1,
-1, -1, -1, 1553, -1, -1, -1, -1, 1558, -1,
-1, -1, -1, 1563, -1, -1, -1, -1, 1568, -1,
-1, -1, -1, 1573, -1, -1, -1, -1, 1578, -1,
-1, -1, -1, 1583, -1, -1, -1, -1, 1588, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1622, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1636, -1, -1, -1,
-1, -1, -1, 1643, -1, -1, -1, -1, -1, -1,
1650, -1, -1, -1, -1, -1, -1, 1657, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1667, -1, -1,
-1, -1, -1, -1, 1674, -1, -1, -1, -1, -1,
-1, -1, 1682, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1697, -1, -1,
-1, -1, -1, -1, 1704, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1725, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1742, 1743, 1744, 1745, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1787, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1797, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1857, -1, -1,
-1, -1, -1, -1, -1, 1865, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1883, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1904, -1, -1, -1, -1, -1,
-1, 1911, -1, -1, -1, -1, -1, -1, 1918, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1953, -1, -1, -1, -1, -1, -1,
-1, 1961, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1971, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1991, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2001, -1, -1, -1, -1, -1, -1, 2008, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2102, 2103, 2104, 2105, 2106, 2107, 2108, -1,
2110, -1, -1, -1, -1, -1, 2116, 2117, -1, -1,
-1, -1, -1, -1, -1, -1, 2126, -1, -1, -1,
-1, 2131, -1, -1, -1, -1, 2136, -1, -1, -1,
-1, 2141, -1, -1, -1, -1, -1, -1, 2148, -1,
-1, -1, -1, 2153, -1, -1, -1, -1, -1, 2159,
2160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2170, -1, -1, -1, -1, 2175, 2176, 2177, -1, -1,
2180, 2181, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2191, -1, 2193, 2194, 2195, 2196, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2209,
-1, -1, -1, -1, -1, -1, 2216, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2241, -1, -1, -1, -1, -1, -1, -1, 2249,
-1, -1, -1, -1, -1, -1, 2256, -1, -1, -1,
-1, -1, 2262, -1, -1, -1, -1, -1, 2268, 2269,
2270, 2271, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2284, -1, -1, -1, 2288, -1,
2290, -1, -1, 2293, -1, 2295, 2296, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2309,
2310, -1, -1, -1, -1, 2315, -1, -1, -1, -1,
-1, -1, -1, -1, 2324, 2325, 2326, -1, -1, -1,
-1, 2331, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2342, -1, -1, -1, -1, 2347, -1, -1,
-1, -1, 2352, -1, -1, -1, 2356, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380, -1, -1, -1, -1, -1, 2386, -1, -1, -1,
-1, -1, -1, 2393, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2404, -1, -1, -1, -1, 2409,
-1, -1, -1, -1, -1, 2415, -1, -1, -1, -1,
2420, 2421, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2434, -1, -1, -1, -1, 2439,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2453, -1, 2455, -1, 419, 420, 421,
422, 2461, -1, 2463, -1, -1, 2466, -1, -1, -1,
-1, -1, -1, -1, 436, 437, -1, -1, -1, -1,
-1, 443, -1, 445, 446, -1, 448, -1, -1, -1,
-1, -1, 2492, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2503, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 476, -1, -1, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, -1,
-1, -1, 494, 495, 496, -1, 2536, 499, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 509, -1, 2549,
-1, -1, -1, -1, -1, -1, 2556, -1, -1, 521,
522, 523, 524, 525, 526, -1, -1, -1, 530, 531,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2583, 2584, -1, -1, -1, 550, 551,
552, 553, -1, -1, 2594, -1, -1, -1, 560, 2599,
2600, 563, -1, -1, -1, 567, 568, 569, 570, 571,
572, 573, 574, 575, -1, -1, 578, -1, -1, 581,
582, -1, 584, 585, -1, 587, -1, -1, -1, -1,
-1, -1, 594, -1, -1, -1, -1, 599, 600, -1,
602, -1, -1, -1, 606, -1, 608, 609, 610, 611,
-1, -1, -1, -1, -1, -1, -1, -1, 620, 621,
622, -1, 624, -1, -1, 2665, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 442, -1, 444, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2739,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 516, 517, 518, -1,
520, -1, -1, -1, -1, -1, -1, -1, -1, 529,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2783, 544, -1, -1, -1, -1, -1,
2790, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2800, -1, -1, -1, -1, -1, -1, 2807, -1, -1,
-1, -1, -1, -1, 2814, -1, -1, -1, -1, 2819,
-1, -1, -1, 583, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 595, 596, 597, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 607, 2848, 2849,
-1, 2851, 612, 613, 614, 615, 616, 617, 618, 619,
-1, -1, 2862, 2863, -1, -1, 2866, -1, -1, -1,
-1, 2871, -1, -1, -1, -1, -1, -1, -1, 2879,
2880, 2881, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2891, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2908, -1,
2910, 2911, 2912, 2913, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2928, 2929,
2930, 2931, 2932, 2933, 2934, 2935, -1, -1, 2938, 2939,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2954, -1, -1, -1, 2958, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3018, 3019,
3020, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3084, -1, -1, -1, -1, -1,
-1, 3091, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3123, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3159,
3160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3173, -1, -1, -1, -1, -1, -1,
-1, 3181, 3182, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3197, -1, -1,
-1, 3201, -1, -1, -1, 3205, -1, -1, -1, -1,
1172, -1, -1, -1, 3214, -1, -1, -1, -1, 3219,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3230, -1, -1, -1, -1, -1, -1, -1, 1200, -1,
-1, -1, -1, -1, 1206, 1207, -1, -1, -1, -1,
1212, 1213, -1, -1, -1, -1, -1, -1, -1, 3259,
3260, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3309,
3310, -1, -1, -1, -1, -1, 3316, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3352, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3363, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1342, 1343, 1344, 1345, 1346, 1347, -1, 1349, -1, -1,
-1, -1, -1, -1, -1, 1357, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1377, -1, -1, -1, -1,
-1, -1, -1, -1, 1184, -1, -1, -1, 1188, 1189,
1190, 1191, -1, 1193, 1194, -1, 1196, -1, -1, -1,
-1, 1201, 1202, -1, -1, -1, -1, -1, -1, -1,
-1, 1211, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1456, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1477, -1, -1, -1, 1481,
1482, 1483, 1484, -1, 1284, 1285, -1, -1, -1, -1,
1290, 1291, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1511,
1512, 1513, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1545, 1546, 1547, 1548, -1, -1, -1,
1552, -1, -1, -1, 1354, 1557, 1356, -1, -1, -1,
1562, -1, -1, -1, -1, 1567, -1, -1, -1, -1,
1572, -1, -1, -1, 1374, 1577, -1, -1, -1, -1,
1582, -1, -1, -1, -1, 1587, -1, 1589, -1, -1,
1390, -1, -1, -1, -1, 1395, -1, -1, -1, -1,
1400, -1, -1, -1, -1, -1, -1, 1407, 1408, -1,
-1, 1411, 1412, -1, -1, -1, -1, -1, -1, 1419,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1442, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1467, -1, -1,
1470, -1, -1, -1, -1, -1, 1476, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1495, -1, -1, -1, -1,
1500, 1501, 1502, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1518, -1,
-1, -1, -1, 1523, -1, -1, -1, -1, 1528, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1544, -1, -1, -1, -1, -1,
-1, -1, -1, 1553, -1, -1, -1, -1, 1558, -1,
-1, -1, -1, 1563, -1, -1, -1, -1, 1568, -1,
-1, -1, -1, 1573, -1, -1, -1, -1, 1578, -1,
-1, -1, -1, 1583, -1, -1, -1, -1, 1588, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, 1744, 1745, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
-1, 370, -1, -1, 373, -1, 375, -1, -1, 378,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2297, 2298, 2299, 2300, 2301,
2302, 2303, -1, -1, -1, -1, -1, -1, -1, -1,
2110, -1, -1, -1, -1, -1, 2116, 2117, -1, -1,
2322, -1, -1, -1, -1, -1, 2126, -1, -1, -1,
-1, 2131, -1, -1, -1, -1, 2136, -1, -1, -1,
-1, 2141, -1, -1, -1, -1, -1, -1, 2148, -1,
-1, -1, -1, 2153, -1, -1, -1, -1, -1, 2159,
2160, -1, -1, -1, 2366, -1, -1, -1, -1, -1,
2170, -1, -1, -1, -1, 2175, 2176, 2177, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2191, 2394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2256, -1, -1, -1,
-1, -1, 2262, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2309,
2310, -1, -1, -1, -1, 2315, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2331, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2342, -1, -1, -1, -1, 2347, -1, -1,
-1, -1, 2352, -1, -1, -1, 2356, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380, -1, -1, -1, -1, -1, 2386, -1, -1, -1,
-1, -1, -1, 2393, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2409,
-1, -1, -1, -1, -1, 2415, -1, -1, -1, -1,
2420, 2421, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2453, -1, 2455, -1, -1, -1, -1,
-1, 2461, -1, 2463, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2784, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2594, -1, -1, -1, -1, 2599,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2870, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2898, -1, -1, -1,
2902, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2914, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2783, -1, -1, -1, -1, -1, -1,
2790, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2807, -1, -1,
-1, -1, -1, -1, 2814, -1, -1, -1, -1, 2819,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2908, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2930, 2931, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2954, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3294, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, 3214, -1, -1, -1, -1, 3219,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, -1, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, -1, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
-1, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, -1, -1, 150, 151, 152,
153, -1, -1, -1, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, 368, -1, 370, -1, -1,
373, -1, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
-1, -1, -1, 150, 151, 152, -1, -1, -1, -1,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
257, -1, 259, 260, 261, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, 368, -1, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, -1, -1, -1, 150,
151, -1, -1, -1, -1, -1, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, 257, -1, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
341, 342, -1, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, 368, -1, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
-1, -1, -1, -1, -1, 150, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, -1, -1, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, -1, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
139, 140, 141, 142, 143, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, -1,
279, 280, 281, 282, 283, 284, 285, -1, -1, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, -1, -1, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
-1, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, 57, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, 61, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, 374, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, 374,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 65, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
369, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
369, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
369, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 65, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, 374, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, 369, 370, -1, -1,
373, -1, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, 369, 370, -1, -1,
373, -1, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
369, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
369, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, 369, 370, -1, -1,
373, -1, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
369, 370, -1, -1, 373, -1, 375, -1, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, 369, 370,
-1, -1, 373, -1, 375, -1, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, -1,
375, -1, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, 369, 370, -1, -1,
373, -1, 375, -1, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, -1, 377, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, 369, 370, -1, -1, 373, -1, 375, -1,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, -1, 377, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, 377, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, -1, 377, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, -1,
377, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, 376, -1, 378, 3, 4, 5, 6,
7, 8, 9, 10, -1, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, 50, -1, 52, 53, 54, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, 69, 70, 71, 72, 73, 74, 75, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
-1, 88, -1, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, 100, 101, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, -1, 121, 122, 123, 124, 125, 126,
127, -1, 129, 130, 131, 132, 133, 134, 135, 136,
137, 138, -1, 140, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
157, 158, 159, 160, -1, -1, -1, 164, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, -1, -1,
177, 178, -1, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, -1, 214, 215, 216,
217, 218, -1, -1, 221, -1, -1, 224, -1, -1,
-1, -1, -1, 230, -1, 232, 233, 234, 235, 236,
237, 238, 239, -1, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
-1, -1, 259, 260, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, -1, 279, 280, -1, -1, -1, -1, -1, -1,
-1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, -1, 301, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
317, -1, 319, 320, 321, 322, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, -1, 335, 336,
337, -1, 339, -1, -1, -1, -1, -1, 345, 346,
-1, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, -1, -1, 370, -1, -1, 373, -1, 375, 376,
-1, 378, 3, 4, 5, 6, 7, 8, 9, 10,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, 50,
-1, 52, 53, 54, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 85, 86, -1, 88, -1, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, 100,
101, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
121, 122, 123, 124, 125, 126, 127, -1, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 157, 158, 159, 160,
-1, -1, -1, 164, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, -1, -1, 177, 178, -1, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, -1, 214, 215, 216, 217, 218, -1, -1,
221, -1, -1, 224, -1, -1, -1, -1, -1, 230,
-1, 232, 233, 234, 235, 236, 237, 238, 239, -1,
-1, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, -1, -1, 259, 260,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, -1, -1, 279, 280,
-1, -1, -1, -1, -1, -1, -1, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, -1, 319, 320,
321, 322, -1, -1, -1, 326, 327, 328, 329, 330,
331, 332, 333, -1, 335, 336, 337, -1, 339, -1,
-1, -1, -1, -1, 345, 346, -1, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, -1, -1, 370,
-1, -1, 373, -1, 375, 376, -1, 378, 3, 4,
5, 6, 7, 8, 9, 10, -1, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, 50, -1, 52, 53, 54,
55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 68, 69, 70, 71, 72, 73, 74,
75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85, 86, -1, 88, -1, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, 100, 101, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
125, 126, 127, -1, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 157, 158, 159, 160, -1, -1, -1, 164,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
-1, -1, 177, 178, -1, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, -1, 214,
215, 216, 217, 218, -1, -1, 221, -1, -1, 224,
-1, -1, -1, -1, -1, 230, -1, 232, 233, 234,
235, 236, 237, 238, 239, -1, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, -1, 259, 260, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, -1, -1, 279, 280, -1, -1, -1, -1,
-1, -1, -1, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, -1, 319, 320, 321, 322, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, -1,
335, 336, 337, -1, 339, -1, -1, -1, -1, -1,
345, 346, -1, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, -1, -1, 370, -1, -1, 373, -1,
375, 376, -1, 378, 3, 4, 5, 6, 7, 8,
9, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, 50, -1, 52, 53, 54, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
69, 70, 71, 72, 73, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, -1, 88,
-1, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, 100, 101, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
-1, 140, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 157, 158,
159, 160, -1, -1, -1, 164, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, -1, -1, 177, 178,
-1, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, -1, 214, 215, 216, 217, 218,
-1, -1, 221, -1, -1, 224, -1, -1, -1, -1,
-1, 230, -1, 232, 233, 234, 235, 236, 237, 238,
239, -1, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, -1, -1,
259, 260, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, -1, -1,
279, 280, -1, -1, -1, -1, -1, -1, -1, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, -1, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
319, 320, 321, 322, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, -1, 335, 336, 337, -1,
339, -1, -1, -1, -1, -1, 345, 346, -1, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, -1,
-1, 370, -1, -1, 373, -1, 375, 376, -1, 378,
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, -1, -1, 50, -1, 52,
53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 85, 86, -1, 88, -1, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, 100, 101, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, -1, 121, 122,
123, 124, 125, 126, 127, -1, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, -1, 140, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 157, 158, 159, 160, -1, -1,
-1, 164, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, -1, -1, 177, 178, -1, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
-1, 214, 215, 216, 217, 218, -1, -1, 221, -1,
-1, 224, -1, -1, -1, -1, -1, 230, -1, 232,
233, 234, 235, 236, 237, 238, 239, -1, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, -1, -1, 259, 260, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, -1, 279, 280, -1, -1,
-1, -1, -1, -1, -1, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, -1, 319, 320, 321, 322,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, -1, 335, 336, 337, -1, 339, -1, -1, -1,
-1, -1, 345, 346, -1, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, -1, -1, 370, -1, -1,
373, -1, 375, -1, -1, 378
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
state STATE-NUM. */
static const yytype_int16 yystos[] =
{
0, 5, 14, 15, 16, 18, 25, 26, 28, 29,
31, 32, 33, 35, 37, 56, 60, 66, 370, 380,
381, 382, 383, 384, 385, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, 398, 400, 401, 9,
5, 5, 14, 30, 30, 63, 5, 5, 27, 27,
27, 30, 30, 5, 30, 5, 30, 14, 38, 40,
41, 42, 47, 48, 49, 3, 4, 5, 6, 7,
8, 9, 10, 12, 13, 44, 50, 53, 55, 68,
69, 70, 71, 72, 73, 74, 75, 373, 375, 378,
407, 410, 411, 412, 422, 422, 381, 386, 371, 386,
0, 369, 17, 19, 20, 21, 22, 23, 83, 24,
52, 52, 5, 5, 5, 5, 7, 12, 13, 63,
84, 373, 375, 402, 404, 5, 34, 34, 36, 5,
39, 5, 373, 5, 373, 373, 373, 422, 11, 63,
406, 416, 417, 418, 419, 422, 52, 54, 57, 85,
86, 88, 90, 91, 92, 93, 94, 97, 98, 99,
100, 101, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 121,
122, 123, 124, 125, 126, 127, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, 140, 157, 158, 159,
160, 164, 165, 166, 167, 168, 169, 170, 171, 173,
174, 177, 178, 180, 181, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, 192, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 211, 214, 215, 216, 217, 218, 221, 224,
230, 232, 233, 234, 235, 236, 237, 238, 239, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, 259, 260, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 279, 280, 288, 289, 290, 291, 293, 294, 295,
296, 297, 298, 299, 301, 302, 303, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
319, 320, 321, 322, 326, 327, 328, 329, 330, 331,
332, 333, 335, 336, 337, 339, 345, 346, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, 366, 367, 370, 422,
61, 67, 372, 371, 380, 5, 422, 422, 422, 422,
5, 5, 5, 10, 402, 402, 373, 402, 405, 376,
405, 373, 5, 50, 399, 399, 399, 36, 417, 63,
374, 408, 409, 374, 420, 422, 374, 420, 374, 5,
7, 12, 13, 51, 84, 373, 403, 404, 412, 413,
415, 376, 377, 422, 422, 422, 422, 381, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 5, 7, 8, 64,
87, 89, 95, 96, 102, 120, 128, 139, 141, 142,
143, 161, 162, 163, 179, 193, 210, 212, 213, 219,
220, 222, 223, 225, 226, 227, 228, 229, 231, 240,
241, 261, 277, 281, 282, 283, 284, 285, 292, 300,
304, 318, 323, 324, 325, 334, 338, 340, 344, 347,
368, 422, 381, 381, 43, 52, 34, 52, 422, 374,
377, 376, 405, 399, 374, 402, 422, 374, 377, 374,
377, 374, 373, 5, 12, 13, 374, 413, 414, 415,
45, 46, 373, 418, 58, 59, 420, 421, 416, 416,
416, 416, 422, 422, 407, 431, 432, 407, 433, 434,
407, 435, 436, 407, 437, 438, 407, 439, 440, 407,
443, 444, 422, 422, 422, 422, 422, 416, 416, 422,
422, 407, 457, 458, 407, 459, 460, 407, 419, 461,
462, 463, 464, 465, 416, 407, 419, 471, 472, 473,
474, 475, 416, 416, 407, 481, 482, 416, 407, 483,
484, 407, 485, 486, 407, 487, 488, 407, 489, 490,
407, 491, 492, 407, 495, 496, 407, 497, 498, 407,
499, 500, 407, 501, 502, 407, 503, 504, 407, 505,
506, 407, 507, 508, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 407, 569, 570, 422, 407, 573,
574, 422, 422, 416, 407, 579, 580, 407, 581, 582,
416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
416, 416, 422, 422, 422, 416, 416, 416, 422, 422,
416, 422, 422, 422, 422, 407, 615, 616, 407, 617,
618, 422, 422, 422, 416, 407, 630, 631, 422, 407,
642, 643, 407, 644, 645, 407, 646, 647, 407, 648,
649, 407, 419, 654, 655, 656, 657, 658, 407, 419,
669, 670, 671, 672, 673, 407, 419, 696, 697, 698,
699, 700, 407, 703, 704, 407, 419, 705, 706, 707,
708, 709, 416, 416, 416, 416, 416, 416, 407, 735,
736, 407, 737, 738, 407, 419, 739, 740, 741, 416,
416, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 407, 768, 769, 407, 770, 771, 407, 419, 774,
775, 776, 777, 778, 407, 779, 780, 407, 781, 782,
407, 783, 784, 407, 785, 786, 407, 787, 788, 416,
416, 416, 416, 422, 422, 407, 793, 794, 407, 795,
796, 422, 407, 803, 804, 416, 422, 407, 840, 841,
416, 407, 847, 848, 422, 407, 853, 854, 416, 416,
416, 416, 416, 416, 416, 416, 416, 407, 868, 869,
407, 870, 871, 416, 407, 872, 873, 407, 874, 875,
416, 416, 407, 419, 881, 882, 883, 884, 885, 416,
416, 422, 416, 407, 901, 902, 407, 903, 904, 422,
422, 422, 422, 416, 407, 419, 918, 919, 920, 921,
922, 407, 419, 923, 924, 925, 926, 927, 407, 419,
928, 929, 930, 931, 932, 407, 933, 934, 416, 416,
422, 416, 422, 422, 407, 957, 958, 416, 407, 419,
961, 962, 963, 964, 965, 416, 416, 416, 416, 407,
419, 966, 967, 968, 969, 970, 407, 419, 971, 972,
973, 974, 975, 407, 419, 976, 977, 978, 979, 980,
407, 419, 981, 982, 983, 984, 985, 407, 419, 986,
987, 988, 989, 990, 407, 419, 991, 992, 993, 994,
995, 407, 419, 996, 997, 998, 999, 1000, 407, 419,
1001, 1002, 1003, 1004, 1005, 416, 416, 416, 407, 1006,
1007, 416, 422, 371, 371, 377, 377, 7, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
375, 375, 375, 375, 375, 375, 375, 375, 144, 150,
172, 175, 176, 278, 286, 287, 341, 422, 62, 422,
422, 5, 422, 374, 402, 374, 65, 422, 408, 422,
422, 414, 414, 413, 413, 405, 381, 369, 376, 369,
376, 369, 376, 377, 377, 377, 422, 377, 422, 377,
422, 376, 422, 376, 422, 376, 422, 377, 377, 377,
377, 377, 376, 376, 377, 377, 377, 422, 376, 422,
462, 65, 422, 376, 377, 369, 472, 65, 422, 376,
377, 369, 376, 376, 422, 376, 376, 422, 377, 422,
377, 422, 377, 422, 376, 422, 369, 422, 376, 422,
377, 422, 377, 422, 377, 422, 377, 422, 377, 422,
377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
377, 422, 377, 376, 422, 377, 377, 376, 376, 422,
376, 422, 369, 369, 369, 369, 369, 369, 376, 369,
376, 376, 376, 369, 369, 377, 369, 369, 376, 376,
377, 377, 376, 377, 377, 377, 377, 376, 422, 377,
422, 377, 377, 377, 369, 376, 422, 369, 376, 422,
376, 422, 376, 422, 376, 422, 655, 65, 422, 376,
377, 670, 65, 422, 369, 377, 697, 65, 422, 376,
377, 376, 422, 706, 65, 422, 376, 377, 369, 376,
376, 369, 369, 369, 376, 422, 376, 422, 740, 369,
65, 422, 376, 376, 377, 377, 377, 377, 377, 377,
377, 377, 377, 377, 369, 422, 376, 422, 775, 65,
422, 376, 377, 376, 422, 376, 422, 377, 422, 377,
422, 376, 422, 376, 376, 376, 369, 377, 377, 376,
422, 376, 422, 377, 376, 422, 376, 369, 377, 422,
369, 376, 422, 377, 376, 422, 369, 369, 376, 369,
369, 369, 369, 369, 369, 377, 422, 377, 422, 376,
376, 422, 376, 422, 376, 369, 882, 65, 422, 376,
377, 369, 369, 377, 376, 376, 422, 376, 422, 369,
369, 369, 369, 369, 919, 65, 422, 376, 377, 924,
65, 422, 376, 377, 929, 65, 422, 376, 377, 376,
422, 369, 376, 377, 369, 377, 377, 377, 422, 369,
962, 65, 422, 376, 377, 369, 369, 369, 369, 967,
65, 422, 369, 377, 972, 65, 422, 369, 377, 977,
65, 422, 369, 377, 982, 65, 422, 369, 377, 987,
65, 422, 369, 377, 992, 65, 422, 369, 377, 997,
65, 422, 369, 377, 1002, 65, 422, 369, 377, 369,
376, 376, 377, 422, 376, 377, 7, 8, 7, 8,
371, 421, 422, 422, 407, 441, 442, 416, 407, 493,
494, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 407, 419, 632, 633, 634, 635, 636, 422, 407,
650, 651, 407, 652, 653, 407, 419, 659, 660, 661,
662, 663, 407, 419, 664, 665, 666, 667, 668, 407,
419, 674, 675, 676, 677, 678, 407, 419, 679, 680,
681, 682, 683, 407, 684, 685, 407, 419, 686, 687,
688, 689, 690, 407, 419, 691, 692, 693, 694, 695,
422, 407, 419, 725, 726, 727, 728, 729, 422, 407,
772, 773, 407, 799, 800, 416, 407, 419, 805, 806,
807, 808, 809, 407, 419, 810, 811, 812, 813, 814,
422, 422, 407, 849, 850, 416, 416, 421, 407, 909,
910, 407, 911, 912, 407, 419, 913, 914, 915, 916,
917, 416, 416, 422, 422, 422, 407, 1010, 1011, 375,
375, 375, 375, 375, 375, 375, 375, 145, 151, 257,
342, 422, 422, 65, 374, 376, 376, 374, 59, 421,
422, 422, 422, 422, 422, 422, 422, 407, 445, 446,
407, 447, 448, 407, 449, 450, 407, 451, 452, 422,
422, 422, 422, 65, 422, 461, 407, 419, 466, 467,
468, 469, 470, 65, 422, 471, 407, 419, 476, 477,
478, 479, 480, 422, 487, 489, 495, 499, 501, 503,
505, 507, 407, 509, 510, 407, 511, 512, 407, 513,
514, 407, 517, 518, 407, 551, 552, 407, 553, 554,
407, 555, 556, 407, 557, 558, 407, 565, 566, 407,
567, 568, 569, 407, 571, 572, 422, 422, 416, 416,
416, 416, 416, 416, 416, 422, 407, 419, 587, 588,
589, 590, 591, 422, 407, 419, 597, 598, 599, 600,
601, 416, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 407, 419, 625, 626, 627, 628, 629, 416,
65, 422, 654, 65, 422, 422, 669, 65, 422, 696,
65, 422, 705, 407, 419, 710, 711, 712, 713, 714,
407, 419, 715, 716, 717, 718, 719, 407, 419, 720,
721, 722, 723, 724, 422, 65, 739, 742, 743, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 65, 422, 774, 422, 422, 416, 422, 422, 407,
797, 798, 407, 419, 835, 836, 837, 838, 839, 422,
407, 419, 842, 843, 844, 845, 846, 407, 851, 852,
407, 419, 855, 856, 857, 858, 859, 416, 407, 860,
861, 407, 862, 863, 416, 416, 416, 416, 868, 870,
407, 419, 876, 877, 878, 879, 880, 65, 422, 881,
407, 419, 886, 887, 888, 889, 890, 407, 419, 891,
892, 893, 894, 895, 422, 407, 905, 906, 407, 907,
908, 416, 416, 416, 65, 422, 918, 65, 422, 923,
65, 422, 928, 407, 935, 936, 422, 407, 939, 940,
407, 943, 944, 407, 955, 956, 422, 422, 65, 422,
961, 416, 416, 416, 416, 65, 422, 416, 966, 65,
422, 416, 971, 65, 422, 416, 976, 65, 422, 416,
981, 65, 422, 416, 986, 65, 422, 416, 991, 65,
422, 416, 996, 65, 422, 416, 1001, 416, 422, 422,
371, 371, 371, 371, 376, 377, 377, 376, 422, 376,
376, 422, 377, 377, 377, 377, 377, 377, 377, 377,
369, 377, 633, 65, 422, 376, 377, 369, 376, 422,
376, 422, 660, 65, 422, 376, 377, 665, 65, 422,
376, 377, 675, 65, 422, 369, 377, 680, 65, 422,
369, 377, 376, 422, 687, 65, 422, 376, 377, 692,
65, 422, 369, 377, 377, 726, 65, 422, 369, 377,
369, 376, 422, 376, 422, 376, 806, 65, 422, 376,
377, 811, 65, 422, 376, 377, 369, 369, 376, 422,
369, 369, 376, 376, 422, 376, 422, 914, 65, 422,
376, 377, 376, 369, 377, 377, 377, 376, 422, 422,
422, 421, 407, 583, 584, 407, 801, 802, 407, 419,
825, 826, 827, 828, 829, 407, 419, 830, 831, 832,
833, 834, 422, 375, 375, 375, 375, 146, 152, 343,
422, 422, 376, 377, 377, 377, 377, 377, 376, 377,
422, 377, 422, 377, 422, 377, 422, 377, 377, 377,
376, 422, 467, 65, 422, 376, 377, 422, 477, 65,
422, 376, 377, 377, 376, 376, 369, 376, 377, 377,
377, 377, 377, 422, 377, 422, 376, 422, 376, 422,
377, 422, 377, 422, 377, 422, 377, 422, 377, 422,
377, 422, 377, 377, 422, 377, 377, 369, 369, 369,
369, 369, 369, 369, 376, 588, 65, 422, 376, 377,
369, 598, 65, 422, 376, 377, 376, 377, 377, 377,
377, 377, 369, 376, 377, 377, 377, 626, 65, 422,
376, 377, 376, 422, 422, 377, 422, 422, 711, 65,
422, 376, 377, 716, 65, 422, 376, 377, 721, 65,
422, 376, 377, 376, 422, 376, 377, 377, 377, 377,
377, 377, 377, 377, 377, 377, 369, 376, 422, 376,
377, 376, 377, 377, 376, 422, 836, 65, 422, 376,
377, 376, 843, 65, 422, 376, 377, 377, 422, 856,
65, 422, 376, 377, 369, 376, 422, 376, 422, 376,
376, 376, 376, 377, 377, 877, 65, 422, 376, 377,
422, 887, 65, 422, 376, 377, 892, 65, 422, 376,
377, 369, 369, 422, 369, 422, 376, 376, 376, 422,
422, 422, 369, 422, 377, 376, 422, 376, 422, 377,
422, 377, 376, 422, 376, 376, 369, 369, 422, 376,
422, 376, 422, 369, 422, 369, 422, 376, 422, 376,
422, 369, 422, 369, 376, 376, 377, 422, 422, 407,
515, 516, 407, 519, 520, 407, 521, 522, 407, 523,
524, 407, 559, 560, 407, 561, 562, 407, 563, 564,
422, 407, 419, 602, 603, 604, 605, 606, 422, 65,
422, 632, 407, 419, 637, 638, 639, 640, 641, 65,
422, 659, 65, 422, 664, 65, 422, 422, 674, 65,
422, 422, 679, 65, 422, 686, 65, 422, 422, 691,
422, 65, 422, 422, 725, 407, 419, 730, 731, 732,
733, 734, 65, 422, 805, 65, 422, 810, 407, 419,
815, 816, 817, 818, 819, 407, 419, 820, 821, 822,
823, 824, 407, 864, 865, 407, 866, 867, 65, 422,
913, 407, 941, 942, 407, 945, 946, 407, 953, 954,
407, 959, 960, 377, 377, 376, 376, 422, 376, 422,
826, 65, 422, 376, 377, 831, 65, 422, 376, 377,
377, 422, 422, 421, 422, 375, 375, 375, 147, 153,
258, 422, 422, 422, 422, 422, 422, 422, 447, 422,
422, 422, 422, 407, 455, 456, 65, 422, 466, 65,
422, 476, 422, 422, 501, 503, 505, 507, 422, 422,
422, 422, 555, 422, 565, 567, 422, 571, 407, 575,
576, 407, 577, 578, 416, 416, 416, 416, 416, 416,
416, 65, 422, 587, 407, 419, 592, 593, 594, 595,
596, 65, 422, 597, 422, 422, 422, 422, 422, 416,
407, 619, 620, 407, 621, 622, 407, 623, 624, 65,
422, 625, 422, 65, 422, 710, 65, 422, 715, 65,
422, 720, 739, 422, 422, 422, 422, 422, 422, 422,
422, 422, 416, 422, 422, 422, 65, 422, 835, 65,
422, 842, 422, 65, 422, 855, 416, 422, 870, 65,
422, 876, 65, 422, 886, 65, 422, 891, 407, 419,
896, 897, 898, 899, 900, 422, 422, 422, 407, 937,
938, 955, 422, 422, 422, 976, 981, 996, 1001, 407,
1008, 1009, 377, 377, 376, 422, 376, 422, 377, 422,
377, 422, 377, 422, 377, 422, 377, 422, 377, 603,
65, 422, 376, 377, 369, 422, 638, 65, 422, 376,
377, 422, 422, 422, 377, 422, 377, 422, 422, 377,
369, 422, 376, 731, 65, 422, 369, 377, 422, 422,
816, 65, 422, 376, 377, 821, 65, 422, 376, 377,
376, 422, 376, 422, 422, 376, 422, 376, 422, 376,
422, 376, 422, 407, 525, 526, 407, 537, 538, 65,
422, 825, 65, 422, 830, 407, 947, 948, 377, 377,
376, 377, 422, 422, 422, 375, 375, 375, 148, 154,
422, 377, 377, 377, 376, 376, 377, 377, 377, 377,
369, 377, 376, 422, 422, 422, 377, 376, 376, 377,
377, 377, 377, 377, 377, 376, 377, 376, 377, 377,
377, 377, 376, 422, 377, 422, 376, 376, 369, 376,
376, 376, 369, 422, 593, 65, 422, 376, 377, 422,
369, 369, 369, 369, 369, 376, 376, 422, 376, 422,
377, 422, 422, 376, 422, 422, 422, 377, 377, 377,
369, 369, 377, 377, 369, 369, 376, 376, 369, 369,
422, 422, 376, 422, 376, 377, 377, 422, 422, 422,
897, 65, 422, 376, 377, 376, 376, 376, 377, 422,
377, 376, 376, 376, 376, 376, 376, 376, 376, 422,
422, 422, 422, 422, 422, 422, 422, 422, 65, 422,
602, 416, 65, 422, 637, 422, 422, 422, 407, 701,
702, 65, 422, 422, 730, 65, 422, 815, 65, 422,
820, 377, 422, 377, 422, 422, 422, 376, 422, 407,
527, 528, 407, 539, 540, 407, 949, 950, 377, 377,
377, 422, 422, 421, 375, 375, 149, 155, 422, 422,
407, 423, 424, 407, 425, 426, 445, 422, 422, 422,
416, 407, 453, 454, 422, 503, 505, 507, 422, 422,
422, 422, 422, 422, 422, 571, 422, 416, 416, 65,
422, 592, 407, 607, 608, 407, 609, 610, 407, 611,
612, 407, 613, 614, 416, 422, 422, 407, 746, 747,
407, 748, 749, 407, 419, 750, 751, 752, 753, 754,
407, 419, 755, 756, 757, 758, 759, 407, 760, 761,
407, 762, 763, 407, 764, 765, 407, 766, 767, 407,
789, 790, 407, 791, 792, 422, 422, 65, 422, 896,
937, 422, 377, 377, 376, 376, 376, 377, 376, 377,
422, 376, 422, 376, 376, 376, 376, 422, 422, 376,
422, 422, 422, 422, 377, 422, 377, 422, 376, 422,
407, 529, 530, 407, 541, 542, 407, 951, 952, 377,
377, 376, 422, 422, 375, 375, 156, 376, 377, 422,
377, 422, 376, 377, 376, 376, 376, 376, 422, 376,
376, 377, 377, 376, 376, 376, 376, 377, 377, 377,
377, 377, 376, 376, 422, 376, 422, 377, 422, 376,
422, 377, 422, 376, 376, 377, 376, 422, 376, 422,
751, 65, 422, 376, 377, 756, 65, 422, 376, 377,
376, 422, 376, 422, 369, 422, 369, 422, 376, 422,
377, 422, 377, 377, 422, 376, 376, 422, 407, 429,
430, 422, 422, 376, 376, 422, 422, 377, 422, 377,
422, 376, 422, 407, 531, 532, 407, 543, 544, 377,
377, 422, 422, 375, 422, 422, 447, 505, 507, 422,
422, 422, 422, 422, 609, 613, 407, 744, 745, 65,
422, 750, 65, 422, 755, 422, 422, 791, 422, 422,
377, 377, 422, 376, 369, 376, 376, 422, 422, 377,
422, 377, 422, 407, 533, 534, 407, 545, 546, 377,
377, 422, 377, 376, 376, 376, 377, 377, 377, 377,
377, 376, 376, 376, 376, 422, 422, 422, 376, 376,
376, 376, 377, 407, 427, 428, 422, 416, 376, 376,
422, 422, 377, 422, 377, 422, 407, 535, 536, 407,
547, 548, 377, 422, 507, 422, 422, 422, 422, 422,
376, 422, 376, 369, 376, 376, 422, 422, 377, 422,
377, 422, 407, 549, 550, 376, 376, 376, 376, 377,
376, 376, 407, 585, 586, 376, 376, 422, 422, 377,
422, 422, 376, 422, 376, 376, 422, 376, 376
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_int16 yyr1[] =
{
0, 379, 380, 380, 380, 381, 381, 381, 381, 381,
381, 381, 381, 382, 383, 383, 384, 384, 385, 385,
386, 386, 387, 387, 388, 388, 388, 389, 388, 388,
388, 390, 388, 391, 388, 392, 388, 393, 388, 394,
388, 395, 388, 396, 388, 388, 397, 397, 397, 398,
398, 398, 398, 398, 398, 398, 398, 399, 399, 400,
400, 400, 400, 400, 400, 400, 400, 401, 402, 402,
402, 402, 402, 402, 402, 403, 403, 403, 403, 404,
404, 404, 404, 405, 405, 406, 407, 407, 407, 407,
407, 408, 409, 409, 410, 411, 412, 412, 412, 412,
412, 413, 413, 414, 414, 414, 415, 415, 415, 415,
415, 416, 417, 417, 417, 418, 418, 418, 419, 420,
420, 421, 421, 421, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
422, 422, 422, 424, 423, 423, 426, 425, 425, 428,
427, 427, 430, 429, 429, 432, 431, 431, 434, 433,
433, 436, 435, 435, 438, 437, 437, 440, 439, 439,
442, 441, 441, 444, 443, 443, 446, 445, 445, 448,
447, 447, 450, 449, 449, 452, 451, 451, 454, 453,
453, 456, 455, 455, 458, 457, 457, 460, 459, 459,
461, 461, 461, 461, 463, 462, 462, 464, 465, 465,
466, 466, 466, 466, 468, 467, 467, 469, 470, 470,
471, 471, 471, 471, 473, 472, 472, 474, 475, 475,
476, 476, 476, 476, 478, 477, 477, 479, 480, 480,
482, 481, 481, 484, 483, 483, 486, 485, 485, 488,
487, 487, 490, 489, 489, 492, 491, 491, 494, 493,
493, 496, 495, 495, 498, 497, 497, 500, 499, 499,
502, 501, 501, 504, 503, 503, 506, 505, 505, 508,
507, 507, 510, 509, 509, 512, 511, 511, 514, 513,
513, 516, 515, 515, 518, 517, 517, 520, 519, 519,
522, 521, 521, 524, 523, 523, 526, 525, 525, 528,
527, 527, 530, 529, 529, 532, 531, 531, 534, 533,
533, 536, 535, 535, 538, 537, 537, 540, 539, 539,
542, 541, 541, 544, 543, 543, 546, 545, 545, 548,
547, 547, 550, 549, 549, 552, 551, 551, 554, 553,
553, 556, 555, 555, 558, 557, 557, 560, 559, 559,
562, 561, 561, 564, 563, 563, 566, 565, 565, 568,
567, 567, 570, 569, 569, 572, 571, 571, 574, 573,
573, 576, 575, 575, 578, 577, 577, 580, 579, 579,
582, 581, 581, 584, 583, 583, 586, 585, 585, 587,
587, 587, 587, 589, 588, 588, 590, 591, 591, 592,
592, 592, 592, 594, 593, 593, 595, 596, 596, 597,
597, 597, 597, 599, 598, 598, 600, 601, 601, 602,
602, 602, 602, 604, 603, 603, 605, 606, 606, 608,
607, 607, 610, 609, 609, 612, 611, 611, 614, 613,
613, 616, 615, 615, 618, 617, 617, 620, 619, 619,
622, 621, 621, 624, 623, 623, 625, 625, 625, 625,
627, 626, 626, 628, 629, 629, 631, 630, 630, 632,
632, 632, 632, 634, 633, 633, 635, 636, 636, 637,
637, 637, 637, 639, 638, 638, 640, 641, 641, 643,
642, 642, 645, 644, 644, 647, 646, 646, 649, 648,
648, 651, 650, 650, 653, 652, 652, 654, 654, 654,
654, 656, 655, 655, 657, 658, 658, 659, 659, 659,
659, 661, 660, 660, 662, 663, 663, 664, 664, 664,
664, 666, 665, 665, 667, 668, 668, 669, 669, 669,
669, 671, 670, 670, 672, 673, 673, 674, 674, 674,
674, 676, 675, 675, 677, 678, 678, 679, 679, 679,
679, 681, 680, 680, 682, 683, 683, 685, 684, 684,
686, 686, 686, 686, 688, 687, 687, 689, 690, 690,
691, 691, 691, 691, 693, 692, 692, 694, 695, 695,
696, 696, 696, 696, 698, 697, 697, 699, 700, 700,
702, 701, 701, 704, 703, 703, 705, 705, 705, 705,
707, 706, 706, 708, 709, 709, 710, 710, 710, 710,
712, 711, 711, 713, 714, 714, 715, 715, 715, 715,
717, 716, 716, 718, 719, 719, 720, 720, 720, 720,
722, 721, 721, 723, 724, 724, 725, 725, 725, 725,
727, 726, 726, 728, 729, 729, 730, 730, 730, 730,
732, 731, 731, 733, 734, 734, 736, 735, 735, 738,
737, 737, 739, 739, 739, 739, 741, 740, 740, 742,
743, 743, 745, 744, 744, 747, 746, 746, 749, 748,
748, 750, 750, 750, 750, 752, 751, 751, 753, 754,
754, 755, 755, 755, 755, 757, 756, 756, 758, 759,
759, 761, 760, 760, 763, 762, 762, 765, 764, 764,
767, 766, 766, 769, 768, 768, 771, 770, 770, 773,
772, 772, 774, 774, 774, 774, 776, 775, 775, 777,
778, 778, 780, 779, 779, 782, 781, 781, 784, 783,
783, 786, 785, 785, 788, 787, 787, 790, 789, 789,
792, 791, 791, 794, 793, 793, 796, 795, 795, 798,
797, 797, 800, 799, 799, 802, 801, 801, 804, 803,
803, 805, 805, 805, 805, 807, 806, 806, 808, 809,
809, 810, 810, 810, 810, 812, 811, 811, 813, 814,
814, 815, 815, 815, 815, 817, 816, 816, 818, 819,
819, 820, 820, 820, 820, 822, 821, 821, 823, 824,
824, 825, 825, 825, 825, 827, 826, 826, 828, 829,
829, 830, 830, 830, 830, 832, 831, 831, 833, 834,
834, 835, 835, 835, 835, 837, 836, 836, 838, 839,
839, 841, 840, 840, 842, 842, 842, 842, 844, 843,
843, 845, 846, 846, 848, 847, 847, 850, 849, 849,
852, 851, 851, 854, 853, 853, 855, 855, 855, 855,
857, 856, 856, 858, 859, 859, 861, 860, 860, 863,
862, 862, 865, 864, 864, 867, 866, 866, 869, 868,
868, 871, 870, 870, 873, 872, 872, 875, 874, 874,
876, 876, 876, 876, 878, 877, 877, 879, 880, 880,
881, 881, 881, 881, 883, 882, 882, 884, 885, 885,
886, 886, 886, 886, 888, 887, 887, 889, 890, 890,
891, 891, 891, 891, 893, 892, 892, 894, 895, 895,
896, 896, 896, 896, 898, 897, 897, 899, 900, 900,
902, 901, 901, 904, 903, 903, 906, 905, 905, 908,
907, 907, 910, 909, 909, 912, 911, 911, 913, 913,
913, 913, 915, 914, 914, 916, 917, 917, 918, 918,
918, 918, 920, 919, 919, 921, 922, 922, 923, 923,
923, 923, 925, 924, 924, 926, 927, 927, 928, 928,
928, 928, 930, 929, 929, 931, 932, 932, 934, 933,
933, 936, 935, 935, 938, 937, 937, 940, 939, 939,
942, 941, 941, 944, 943, 943, 946, 945, 945, 948,
947, 947, 950, 949, 949, 952, 951, 951, 954, 953,
953, 956, 955, 955, 958, 957, 957, 960, 959, 959,
961, 961, 961, 961, 963, 962, 962, 964, 965, 965,
966, 966, 966, 966, 968, 967, 967, 969, 970, 970,
971, 971, 971, 971, 973, 972, 972, 974, 975, 975,
976, 976, 976, 976, 978, 977, 977, 979, 980, 980,
981, 981, 981, 981, 983, 982, 982, 984, 985, 985,
986, 986, 986, 986, 988, 987, 987, 989, 990, 990,
991, 991, 991, 991, 993, 992, 992, 994, 995, 995,
996, 996, 996, 996, 998, 997, 997, 999, 1000, 1000,
1001, 1001, 1001, 1001, 1003, 1002, 1002, 1004, 1005, 1005,
1007, 1006, 1006, 1009, 1008, 1008, 1011, 1010, 1010
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
static const yytype_int8 yyr2[] =
{
0, 2, 1, 2, 3, 1, 1, 1, 1, 1,
1, 1, 1, 5, 1, 1, 3, 2, 3, 2,
3, 1, 7, 5, 4, 3, 3, 0, 5, 2,
2, 0, 3, 0, 3, 0, 3, 0, 3, 0,
5, 0, 5, 0, 5, 2, 2, 2, 2, 3,
3, 3, 2, 4, 4, 5, 4, 1, 1, 2,
2, 3, 3, 2, 2, 2, 2, 4, 1, 4,
3, 3, 2, 2, 4, 1, 4, 1, 4, 1,
1, 1, 1, 1, 3, 2, 5, 4, 2, 7,
6, 2, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 2, 1, 2, 2, 1, 1, 1, 1,
1, 1, 0, 1, 3, 1, 2, 1, 1, 1,
3, 1, 0, 3, 1, 1, 1, 4, 1, 1,
3, 6, 6, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 4, 4, 6, 6,
6, 6, 5, 3, 3, 4, 4, 3, 3, 2,
5, 6, 7, 3, 5, 11, 5, 15, 13, 14,
14, 9, 9, 7, 5, 5, 6, 5, 11, 13,
11, 11, 11, 5, 5, 11, 9, 7, 5, 5,
7, 5, 7, 5, 6, 5, 5, 5, 11, 7,
7, 5, 6, 9, 5, 7, 9, 11, 13, 15,
11, 11, 7, 8, 7, 8, 10, 10, 11, 12,
13, 14, 15, 16, 11, 12, 13, 14, 15, 16,
17, 11, 9, 11, 9, 10, 12, 10, 15, 15,
17, 15, 5, 9, 13, 5, 7, 5, 5, 4,
7, 9, 9, 16, 11, 9, 9, 9, 5, 11,
5, 5, 5, 7, 7, 9, 7, 8, 7, 5,
5, 11, 13, 5, 11, 13, 11, 9, 5, 7,
9, 9, 11, 7, 10, 5, 6, 8, 7, 5,
5, 5, 5, 6, 6, 5, 6, 6, 9, 10,
10, 6, 6, 10, 5, 10, 5, 5, 7, 5,
5, 7, 7, 7, 8, 10, 5, 5, 7, 5,
5, 13, 11, 11, 11, 11, 11, 11, 13, 13,
9, 8, 10, 7, 5, 6, 5, 5, 5, 7,
9, 5, 5, 5, 5, 7, 11, 13, 5, 5,
7, 6, 7, 5, 5, 6, 6, 6, 8, 8,
7, 7, 7, 7, 7, 5, 6, 9, 5, 7,
9, 5, 7, 7, 8, 7, 7, 7, 8, 7,
13, 15, 5, 5, 5, 5, 7, 5, 7, 7,
9, 5, 6, 5, 5, 9, 9, 6, 6, 6,
7, 7, 7, 5, 5, 5, 5, 9, 6, 5,
11, 7, 8, 7, 8, 9, 10, 11, 8, 11,
9, 8, 7, 5, 7, 7, 9, 9, 7, 7,
9, 9, 7, 7, 9, 9, 7, 5, 5, 7,
5, 9, 6, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 2,
4, 1, 3, 0, 2, 1, 1, 1, 3, 2,
4, 1, 3, 0, 2, 1, 1, 1, 3, 2,
4, 1, 3, 0, 2, 1, 1, 1, 3, 2,
4, 1, 3, 0, 2, 1, 1, 1, 3, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 0, 2, 1, 2,
4, 1, 3, 0, 2, 1, 1, 1, 3, 2,
4, 1, 3, 0, 2, 1, 1, 1, 3, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 2, 4, 1,
3, 0, 2, 1, 1, 1, 3, 2, 4, 1,
3, 0, 2, 1, 1, 1, 3, 2, 4, 1,
3, 0, 2, 1, 1, 1, 3, 2, 4, 1,
3, 0, 2, 1, 1, 1, 3, 2, 4, 1,
3, 0, 2, 1, 1, 1, 3, 2, 4, 1,
3, 0, 2, 1, 1, 1, 3, 0, 2, 1,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
0, 2, 1, 0, 2, 1, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 0, 2, 1, 0,
2, 1, 2, 4, 1, 3, 0, 2, 1, 1,
1, 3, 0, 2, 1, 0, 2, 1, 0, 2,
1, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 2, 4, 1, 3, 0, 2, 1, 1,
1, 3, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 2, 4, 1, 3, 0, 2, 1, 1, 1,
3, 0, 2, 1, 2, 4, 1, 3, 0, 2,
1, 1, 1, 3, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 2, 4, 1, 3,
0, 2, 1, 1, 1, 3, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 2, 4,
1, 3, 0, 2, 1, 1, 1, 3, 2, 4,
1, 3, 0, 2, 1, 1, 1, 3, 2, 4,
1, 3, 0, 2, 1, 1, 1, 3, 2, 4,
1, 3, 0, 2, 1, 1, 1, 3, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
0, 2, 1, 0, 2, 1, 0, 2, 1, 0,
2, 1, 0, 2, 1, 0, 2, 1, 0, 2,
1, 0, 2, 1, 0, 2, 1, 0, 2, 1,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
2, 4, 1, 3, 0, 2, 1, 1, 1, 3,
0, 2, 1, 0, 2, 1, 0, 2, 1
};
enum { YYENOMEM = -2 };
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
#define YYNOMEM goto yyexhaustedlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
/* Backward compatibility with an undocumented macro.
Use YYerror or YYUNDEF. */
#define YYERRCODE YYUNDEF
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (0)
#endif
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
/* YYLOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
# ifndef YYLOCATION_PRINT
# if defined YY_LOCATION_PRINT
/* Temporary convenience wrapper in case some people defined the
undocumented and private YY_LOCATION_PRINT macros. */
# define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc))
# elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
YY_ATTRIBUTE_UNUSED
static int
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
int res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
res += YYFPRINTF (yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
res += YYFPRINTF (yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
res += YYFPRINTF (yyo, "-%d", end_col);
}
return res;
}
# define YYLOCATION_PRINT yy_location_print_
/* Temporary convenience wrapper in case some people defined the
undocumented and private YY_LOCATION_PRINT macros. */
# define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc))
# else
# define YYLOCATION_PRINT(File, Loc) ((void) 0)
/* Temporary convenience wrapper in case some people defined the
undocumented and private YY_LOCATION_PRINT macros. */
# define YY_LOCATION_PRINT YYLOCATION_PRINT
# endif
# endif /* !defined YYLOCATION_PRINT */
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Kind, Value, Location); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)
/*-----------------------------------.
| Print this symbol's value on YYO. |
`-----------------------------------*/
static void
yy_symbol_value_print (FILE *yyo,
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
{
FILE *yyoutput = yyo;
YY_USE (yyoutput);
YY_USE (yylocationp);
if (!yyvaluep)
return;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YY_USE (yykind);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
/*---------------------------.
| Print this symbol on YYO. |
`---------------------------*/
static void
yy_symbol_print (FILE *yyo,
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
{
YYFPRINTF (yyo, "%s %s (",
yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
YYLOCATION_PRINT (yyo, yylocationp);
YYFPRINTF (yyo, ": ");
yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp);
YYFPRINTF (yyo, ")");
}
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
static void
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
{
int yybot = *yybottom;
YYFPRINTF (stderr, " %d", yybot);
}
YYFPRINTF (stderr, "\n");
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
static void
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
int yyrule)
{
int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
&yyvsp[(yyi + 1) - (yynrhs)],
&(yylsp[(yyi + 1) - (yynrhs)]));
YYFPRINTF (stderr, "\n");
}
}
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args) ((void) 0)
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
/* YYINITDEPTH -- initial size of the parser's stacks. */
#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
static void
yydestruct (const char *yymsg,
yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
{
YY_USE (yyvaluep);
YY_USE (yylocationp);
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YY_USE (yykind);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
/* Lookahead token kind. */
int yychar;
/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
/* Location data for the lookahead symbol. */
YYLTYPE yylloc
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
= { 1, 1, 1, 1 }
# endif
;
/* Number of syntax errors so far. */
int yynerrs;
/*----------.
| yyparse. |
`----------*/
int
yyparse (void)
{
yy_state_fast_t yystate = 0;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus = 0;
/* Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
/* Their size. */
YYPTRDIFF_T yystacksize = YYINITDEPTH;
/* The state stack: array, bottom, top. */
yy_state_t yyssa[YYINITDEPTH];
yy_state_t *yyss = yyssa;
yy_state_t *yyssp = yyss;
/* The semantic value stack: array, bottom, top. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa;
YYSTYPE *yyvsp = yyvs;
/* The location stack: array, bottom, top. */
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp = yyls;
int yyn;
/* The return value of yyparse. */
int yyresult;
/* Lookahead symbol kind. */
yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
/* The locations where the error started and ended. */
YYLTYPE yyerror_range[3];
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
YYDPRINTF ((stderr, "Starting parse\n"));
yychar = YYEMPTY; /* Cause a token to be read. */
yylsp[0] = yylloc;
goto yysetstate;
/*------------------------------------------------------------.
| yynewstate -- push a new state, which is found in yystate. |
`------------------------------------------------------------*/
yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
/*--------------------------------------------------------------------.
| yysetstate -- set current state (the top of the stack) to yystate. |
`--------------------------------------------------------------------*/
yysetstate:
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
YY_IGNORE_USELESS_CAST_BEGIN
*yyssp = YY_CAST (yy_state_t, yystate);
YY_IGNORE_USELESS_CAST_END
YY_STACK_PRINT (yyss, yyssp);
if (yyss + yystacksize - 1 <= yyssp)
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
YYNOMEM;
#else
{
/* Get the current used size of the three stacks, in elements. */
YYPTRDIFF_T yysize = yyssp - yyss + 1;
# if defined yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
yy_state_t *yyss1 = yyss;
YYSTYPE *yyvs1 = yyvs;
YYLTYPE *yyls1 = yyls;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * YYSIZEOF (*yyssp),
&yyvs1, yysize * YYSIZEOF (*yyvsp),
&yyls1, yysize * YYSIZEOF (*yylsp),
&yystacksize);
yyss = yyss1;
yyvs = yyvs1;
yyls = yyls1;
}
# else /* defined YYSTACK_RELOCATE */
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
YYNOMEM;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH;
{
yy_state_t *yyss1 = yyss;
union yyalloc *yyptr =
YY_CAST (union yyalloc *,
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
if (! yyptr)
YYNOMEM;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
yylsp = yyls + yysize - 1;
YY_IGNORE_USELESS_CAST_BEGIN
YYDPRINTF ((stderr, "Stack size increased to %ld\n",
YY_CAST (long, yystacksize)));
YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
/*-----------.
| yybackup. |
`-----------*/
yybackup:
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yypact_value_is_default (yyn))
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token\n"));
yychar = yylex ();
}
if (yychar <= YYEOF)
{
yychar = YYEOF;
yytoken = YYSYMBOL_YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else if (yychar == YYerror)
{
/* The scanner already issued an error message, process directly
to error recovery. But do not keep the error token as
lookahead, it is too special and may lead us to an endless
loop in error recovery. */
yychar = YYUNDEF;
yytoken = YYSYMBOL_YYerror;
yyerror_range[1] = yylloc;
goto yyerrlab1;
}
else
{
yytoken = YYTRANSLATE (yychar);
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
/* If the proper action on seeing token YYTOKEN is to reduce or to
detect an error, take that action. */
yyn += yytoken;
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
goto yydefault;
yyn = yytable[yyn];
if (yyn <= 0)
{
if (yytable_value_is_error (yyn))
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
/* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
yystate = yyn;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
*++yylsp = yylloc;
/* Discard the shifted token. */
yychar = YYEMPTY;
goto yynewstate;
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
/*-----------------------------.
| yyreduce -- do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
'$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
users should not rely upon it. Assigning to YYVAL
unconditionally makes the parser a bit smaller, and it avoids a
GCC warning that YYVAL may be used uninitialized. */
yyval = yyvsp[1-yylen];
/* Default location. */
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
yyerror_range[1] = yyloc;
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
case 13: /* whilecommand: ZZWHILE valueexpr ZZDO command ZZENDWHILE */
#line 287 "SecParser.y"
{ CLEAR();
PRINTF("(while ");
PRINT(yyvsp[-3]);
PRINTF(" do ");
PRINT(yyvsp[-1]);
PRINTF(" endwhile)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26699 "SecParser.tab.cpp"
break;
case 16: /* commandblock1: '{' commandseq '}' */
#line 301 "SecParser.y"
{ CLEAR();
PRINTF("(beginseq (");
PRINT(yyvsp[-1]);
PRINTF(") endseq)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26710 "SecParser.tab.cpp"
break;
case 17: /* commandblock1: '{' '}' */
#line 308 "SecParser.y"
{ CLEAR();
PRINTF("(beginseq () endseq)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26719 "SecParser.tab.cpp"
break;
case 18: /* commandblock2: OPENDOUBLEBRACE commandseq CLOSEDOUBLEBRACE */
#line 315 "SecParser.y"
{ CLEAR();
PRINTF("(beginseq2 (");
PRINT(yyvsp[-1]);
PRINTF(") endseq2)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26730 "SecParser.tab.cpp"
break;
case 19: /* commandblock2: '{' '}' */
#line 322 "SecParser.y"
{ CLEAR();
PRINTF("(beginseq2 () endseq2)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26739 "SecParser.tab.cpp"
break;
case 20: /* commandseq: commandseq '|' command */
#line 329 "SecParser.y"
{ CLEAR();
PRINT(yyvsp[-2]);
PRINTF(" ");
PRINT(yyvsp[0]);
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26750 "SecParser.tab.cpp"
break;
case 21: /* commandseq: command */
#line 336 "SecParser.y"
{ yyval = yyvsp[0];
}
#line 26757 "SecParser.tab.cpp"
break;
case 22: /* conditionalcommand: ZZIF valueexpr ZZTHEN command ZZELSE command ZZENDIF */
#line 341 "SecParser.y"
{ CLEAR();
PRINTF("(if ");
PRINT(yyvsp[-5]);
PRINTF(" then ");
PRINT(yyvsp[-3]);
PRINTF(" else ");
PRINT(yyvsp[-1]);
PRINTF(" endif)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26772 "SecParser.tab.cpp"
break;
case 23: /* conditionalcommand: ZZIF valueexpr ZZTHEN command ZZENDIF */
#line 352 "SecParser.y"
{ CLEAR();
PRINTF("(if ");
PRINT(yyvsp[-3]);
PRINTF(" then ");
PRINT(yyvsp[-1]);
PRINTF(" endif)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26785 "SecParser.tab.cpp"
break;
case 24: /* basic: ZZTYPE ZZIDENTIFIER ZZINFIXOP typeexpr */
#line 363 "SecParser.y"
{
CLEAR();
string equalstr;
NestedText::CopyOut( yyvsp[-1], equalstr );
if(equalstr!="=") {
yyerror("type declataion expects a '=' at the third position");
return -1;
}
PRINTF("(type "); PRINT(yyvsp[-2]);
PRINTF(" = "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26802 "SecParser.tab.cpp"
break;
case 25: /* basic: ZZDELETE ZZTYPE ZZIDENTIFIER */
#line 376 "SecParser.y"
{CLEAR();
PRINTF("(delete type "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26812 "SecParser.tab.cpp"
break;
case 26: /* basic: ZZCREATE ZZNAMING typeexpr */
#line 382 "SecParser.y"
{
CLEAR();
PRINTF("(create "); PRINT(yyvsp[-1]);
PRINTF(" : "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26823 "SecParser.tab.cpp"
break;
case 27: /* $@1: %empty */
#line 389 "SecParser.y"
{paramno=0; emptystack();}
#line 26829 "SecParser.tab.cpp"
break;
case 28: /* basic: $@1 ZZUPDATE ZZIDENTIFIER ZZASSIGN valueexpr */
#line 391 "SecParser.y"
{
CLEAR();
PRINTF("(update "); PRINT(yyvsp[-2]);
PRINTF(" := "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26840 "SecParser.tab.cpp"
break;
case 29: /* basic: ZZKILL ZZIDENTIFIER */
#line 398 "SecParser.y"
{PRINTF("(kill "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26849 "SecParser.tab.cpp"
break;
case 30: /* basic: ZZDELETE ZZIDENTIFIER */
#line 403 "SecParser.y"
{
CLEAR();
PRINTF("(delete "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26860 "SecParser.tab.cpp"
break;
case 31: /* $@2: %empty */
#line 410 "SecParser.y"
{paramno=0; emptystack();}
#line 26866 "SecParser.tab.cpp"
break;
case 32: /* basic: $@2 ZZQUERY valueexpr */
#line 412 "SecParser.y"
{
CLEAR();
PRINTF("(query "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26877 "SecParser.tab.cpp"
break;
case 33: /* $@3: %empty */
#line 418 "SecParser.y"
{paramno=0; emptystack();}
#line 26883 "SecParser.tab.cpp"
break;
case 34: /* basic: $@3 ZZQUERYNT valueexpr */
#line 420 "SecParser.y"
{
CLEAR();
PRINTF("(querynt "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26894 "SecParser.tab.cpp"
break;
case 35: /* $@4: %empty */
#line 427 "SecParser.y"
{paramno=0; emptystack();}
#line 26900 "SecParser.tab.cpp"
break;
case 36: /* basic: $@4 ZZPQUERY valueexpr */
#line 429 "SecParser.y"
{
CLEAR();
PRINTF("(pquery "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26911 "SecParser.tab.cpp"
break;
case 37: /* $@5: %empty */
#line 435 "SecParser.y"
{paramno=0; emptystack();}
#line 26917 "SecParser.tab.cpp"
break;
case 38: /* basic: $@5 ZZPCOMPILE valueexpr */
#line 437 "SecParser.y"
{
CLEAR();
PRINTF("(pcompile "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26928 "SecParser.tab.cpp"
break;
case 39: /* $@6: %empty */
#line 444 "SecParser.y"
{paramno=0; emptystack();}
#line 26934 "SecParser.tab.cpp"
break;
case 40: /* basic: $@6 ZZLET ZZIDENTIFIER ZZINFIXOP valueexpr */
#line 446 "SecParser.y"
{
CLEAR();
string equalstr;
NestedText::CopyOut( yyvsp[-1], equalstr );
if(equalstr!="=") {
yyerror("let command expects a '=' at the third position");
return -1;
}
PRINTF("(let "); PRINT(yyvsp[-2]);
PRINTF(" = "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26951 "SecParser.tab.cpp"
break;
case 41: /* $@7: %empty */
#line 458 "SecParser.y"
{paramno=0; emptystack();}
#line 26957 "SecParser.tab.cpp"
break;
case 42: /* basic: $@7 ZZCHANGENAME ZZIDENTIFIER ZZTO ZZIDENTIFIER */
#line 460 "SecParser.y"
{
CLEAR();
PRINTF("(changename "); PRINT(yyvsp[-2]);
PRINTF(" to " ); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26968 "SecParser.tab.cpp"
break;
case 43: /* $@8: %empty */
#line 467 "SecParser.y"
{paramno=0; emptystack();}
#line 26974 "SecParser.tab.cpp"
break;
case 44: /* basic: $@8 ZZDERIVE ZZIDENTIFIER ZZINFIXOP valueexpr */
#line 469 "SecParser.y"
{
CLEAR();
string equalstr;
NestedText::CopyOut( yyvsp[-1], equalstr );
if(equalstr!="=") {
yyerror("derive command expects a '=' at the third position");
return -1;
}
PRINTF("(derive "); PRINT(yyvsp[-2]);
PRINTF(" = "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 26992 "SecParser.tab.cpp"
break;
case 45: /* basic: ZZPERSISTENT ZZIDENTIFIER */
#line 484 "SecParser.y"
{
CLEAR();
PRINTF("(persistent "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27003 "SecParser.tab.cpp"
break;
case 46: /* transaction: ZZBEGIN1 ZZTRANSACTION */
#line 493 "SecParser.y"
{
CLEAR();
PRINTF("(begin transaction)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27013 "SecParser.tab.cpp"
break;
case 47: /* transaction: ZZCOMMIT ZZTRANSACTION */
#line 499 "SecParser.y"
{
CLEAR();
PRINTF("(commit transaction)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27023 "SecParser.tab.cpp"
break;
case 48: /* transaction: ZZABORT ZZTRANSACTION */
#line 505 "SecParser.y"
{
CLEAR();
PRINTF("(abort transaction)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27033 "SecParser.tab.cpp"
break;
case 49: /* database: ZZCREATE ZZDATABASE ZZIDENTIFIER */
#line 513 "SecParser.y"
{
CLEAR();
PRINTF("(create database "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27044 "SecParser.tab.cpp"
break;
case 50: /* database: ZZDELETE ZZDATABASE ZZIDENTIFIER */
#line 520 "SecParser.y"
{
CLEAR();
PRINTF("(delete database "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27055 "SecParser.tab.cpp"
break;
case 51: /* database: ZZOPEN ZZDATABASE ZZIDENTIFIER */
#line 527 "SecParser.y"
{
CLEAR();
PRINTF("(open database "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27066 "SecParser.tab.cpp"
break;
case 52: /* database: ZZCLOSE ZZDATABASE */
#line 534 "SecParser.y"
{
CLEAR();
PRINTF("(close database)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27076 "SecParser.tab.cpp"
break;
case 53: /* database: ZZSAVE ZZDATABASE ZZTO filename */
#line 540 "SecParser.y"
{
CLEAR();
PRINTF("(save database to "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27087 "SecParser.tab.cpp"
break;
case 54: /* database: ZZSAVE ZZIDENTIFIER ZZTO filename */
#line 547 "SecParser.y"
{
CLEAR();
PRINTF("(save "); PRINT(yyvsp[-2]);
PRINTF(" to "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27099 "SecParser.tab.cpp"
break;
case 55: /* database: ZZRESTORE ZZDATABASE ZZIDENTIFIER ZZFROM filename */
#line 555 "SecParser.y"
{
CLEAR();
PRINTF("(restore database "); PRINT(yyvsp[-2]);
PRINTF(" from "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27110 "SecParser.tab.cpp"
break;
case 56: /* database: ZZRESTORE ZZIDENTIFIER ZZFROM filename */
#line 562 "SecParser.y"
{
CLEAR();
PRINTF("(restore "); PRINT(yyvsp[-2]);
PRINTF(" from "); PRINT(yyvsp[0]); PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27121 "SecParser.tab.cpp"
break;
case 59: /* inquiries: ZZLIST ZZDATABASES */
#line 575 "SecParser.y"
{
CLEAR();
PRINTF("(list databases)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27131 "SecParser.tab.cpp"
break;
case 60: /* inquiries: ZZLIST ZZALGEBRAS */
#line 581 "SecParser.y"
{
CLEAR();
PRINTF("(list algebras)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27141 "SecParser.tab.cpp"
break;
case 61: /* inquiries: ZZLIST ZZALGEBRA ZZIDENTIFIER */
#line 587 "SecParser.y"
{
CLEAR();
PRINTF("(list algebra "); PRINT(yyvsp[0]);
PRINTF(")\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27152 "SecParser.tab.cpp"
break;
case 62: /* inquiries: ZZLIST ZZTYPE ZZCONSTRUCTORS */
#line 594 "SecParser.y"
{
CLEAR();
PRINTF("(list type constructors)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27162 "SecParser.tab.cpp"
break;
case 63: /* inquiries: ZZLIST ZZOPERATORS */
#line 600 "SecParser.y"
{
CLEAR();
PRINTF("(list operators)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27172 "SecParser.tab.cpp"
break;
case 64: /* inquiries: ZZLIST ZZTYPES */
#line 606 "SecParser.y"
{
CLEAR();
PRINTF("(list types)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27182 "SecParser.tab.cpp"
break;
case 65: /* inquiries: ZZLIST ZZOBJECTS */
#line 612 "SecParser.y"
{
CLEAR();
PRINTF("(list objects)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27192 "SecParser.tab.cpp"
break;
case 66: /* inquiries: ZZLIST ZZCOUNTERS */
#line 618 "SecParser.y"
{
CLEAR();
PRINTF("(list counters)\n");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27202 "SecParser.tab.cpp"
break;
case 67: /* set: ZZIDENTIFIER ZZSTRING ZZINFIXOP ZZBOOLEAN */
#line 625 "SecParser.y"
{
CLEAR();
string setstr;
NestedText::CopyOut( yyvsp[-3], setstr );
string equalstr;
NestedText::CopyOut( yyvsp[-1], equalstr );
if(setstr!="set"){
yyerror("expected set but got ZZIDENTIFIER");
return -1;
}
if(equalstr!="="){
yyerror("'=' expected in set command");
return -1;
}
PRINTF("( set ");
PRINT(yyvsp[-2]);
PRINTF(" = ");
PRINT(yyvsp[0]);
PRINTF(" )");
yyval = NestedText::AtomC(yacc_outtext->c_str());
}
#line 27228 "SecParser.tab.cpp"
break;
case 68: /* typeexpr: constructor */
#line 650 "SecParser.y"
{yyval = yyvsp[0];}
#line 27234 "SecParser.tab.cpp"
break;
case 69: /* typeexpr: constructor '(' typeexprs ')' */
#line 652 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1], NestedText::AtomC(")")))));}
#line 27243 "SecParser.tab.cpp"
break;
case 70: /* typeexpr: '(' typeexprs ')' */
#line 658 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1], NestedText::AtomC(")")));}
#line 27250 "SecParser.tab.cpp"
break;
case 71: /* typeexpr: '[' typeexprs ']' */
#line 662 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1], NestedText::AtomC(")")));}
#line 27257 "SecParser.tab.cpp"
break;
case 72: /* typeexpr: '[' ']' */
#line 665 "SecParser.y"
{yyval = NestedText::AtomC("()");}
#line 27263 "SecParser.tab.cpp"
break;
case 73: /* typeexpr: ZZNAMING typeexpr */
#line 667 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0], NestedText::AtomC(")")))));}
#line 27271 "SecParser.tab.cpp"
break;
case 74: /* typeexpr: ZZTYPEOF '(' valueexpr ')' */
#line 670 "SecParser.y"
{
yyval = NestedText::Concat(NestedText::AtomC("(typeOf "),
NestedText::Concat(yyvsp[-1], NestedText::AtomC(")")));
}
#line 27280 "SecParser.tab.cpp"
break;
case 75: /* typeexpr2: constructor */
#line 677 "SecParser.y"
{yyval = yyvsp[0];}
#line 27286 "SecParser.tab.cpp"
break;
case 76: /* typeexpr2: constructor '(' typeexprs ')' */
#line 679 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1], NestedText::AtomC(")")))));}
#line 27295 "SecParser.tab.cpp"
break;
case 77: /* typeexpr2: nestedlist */
#line 684 "SecParser.y"
{yyval = yyvsp[0];}
#line 27301 "SecParser.tab.cpp"
break;
case 78: /* typeexpr2: ZZTYPEOF '(' valueexpr ')' */
#line 685 "SecParser.y"
{
yyval = NestedText::Concat(NestedText::AtomC("(typeOf "),
NestedText::Concat(yyvsp[-1], NestedText::AtomC(")")));
}
#line 27310 "SecParser.tab.cpp"
break;
case 79: /* constructor: ZZIDENTIFIER */
#line 691 "SecParser.y"
{yyval = yyvsp[0];}
#line 27316 "SecParser.tab.cpp"
break;
case 80: /* constructor: ZZTUPLE */
#line 692 "SecParser.y"
{yyval = yyvsp[0];}
#line 27322 "SecParser.tab.cpp"
break;
case 81: /* constructor: ZZGROUP */
#line 693 "SecParser.y"
{yyval = yyvsp[0];}
#line 27328 "SecParser.tab.cpp"
break;
case 82: /* constructor: ZZINTEGER */
#line 694 "SecParser.y"
{yyval = yyvsp[0];}
#line 27334 "SecParser.tab.cpp"
break;
case 83: /* typeexprs: typeexpr */
#line 697 "SecParser.y"
{yyval = yyvsp[0];}
#line 27340 "SecParser.tab.cpp"
break;
case 84: /* typeexprs: typeexprs ',' typeexpr */
#line 699 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));}
#line 27347 "SecParser.tab.cpp"
break;
case 85: /* namedfunction: naming valueexpr */
#line 706 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")")))));}
#line 27357 "SecParser.tab.cpp"
break;
case 86: /* function: ZZFUN '(' args ')' valueexpr */
#line 714 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(fun "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat (NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0], NestedText::AtomC(")") ))));}
#line 27366 "SecParser.tab.cpp"
break;
case 87: /* function: ZZFUN '(' ')' valueexpr */
#line 719 "SecParser.y"
{yyval = NestedText::Concat(
NestedText::AtomC("(fun "),
NestedText::Concat(yyvsp[0], NestedText::AtomC(")")) );}
#line 27374 "SecParser.tab.cpp"
break;
case 88: /* function: ZZFUN ZZIDENTIFIER */
#line 723 "SecParser.y"
{yyval = yyvsp[0];}
#line 27380 "SecParser.tab.cpp"
break;
case 89: /* function: ZZFUN '(' args ')' valueexpr ZZDEFAULTSEP valueexpr */
#line 726 "SecParser.y"
{
yyval = NestedText::Concat(NestedText::AtomC("(fun "),
NestedText::Concat(yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" ) "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ") ))))));
}
#line 27394 "SecParser.tab.cpp"
break;
case 90: /* function: ZZFUN '(' ')' valueexpr ZZDEFAULTSEP valueexpr */
#line 736 "SecParser.y"
{
yyval = NestedText::Concat(NestedText::AtomC(" (fun "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" ) "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ") ))));
}
#line 27406 "SecParser.tab.cpp"
break;
case 91: /* arg: ZZNAMING typeexpr */
#line 746 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0], NestedText::AtomC(")") ))));}
#line 27415 "SecParser.tab.cpp"
break;
case 92: /* args: arg */
#line 752 "SecParser.y"
{yyval = yyvsp[0];}
#line 27421 "SecParser.tab.cpp"
break;
case 93: /* args: args ',' arg */
#line 753 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));}
#line 27428 "SecParser.tab.cpp"
break;
case 94: /* attribute: ZZATTRABBR */
#line 759 "SecParser.y"
{ yyval = NestedText::Concat(NestedText::AtomC("(attr "),
NestedText::Concat(NestedText::AtomC(params[1]),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 27438 "SecParser.tab.cpp"
break;
case 95: /* attribute2: ZZATTRABBR2 */
#line 767 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(attr "),
NestedText::Concat(NestedText::AtomC(params[2]),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 27448 "SecParser.tab.cpp"
break;
case 101: /* nestedlist: atom */
#line 778 "SecParser.y"
{yyval = yyvsp[0];}
#line 27454 "SecParser.tab.cpp"
break;
case 102: /* nestedlist: '(' rest */
#line 779 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-1], yyvsp[0]);}
#line 27460 "SecParser.tab.cpp"
break;
case 103: /* rest: ')' */
#line 782 "SecParser.y"
{yyval = yyvsp[0];}
#line 27466 "SecParser.tab.cpp"
break;
case 104: /* rest: atom rest */
#line 783 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));}
#line 27473 "SecParser.tab.cpp"
break;
case 105: /* rest: nestedlist rest */
#line 785 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));}
#line 27480 "SecParser.tab.cpp"
break;
case 106: /* atom: constant */
#line 789 "SecParser.y"
{yyval = yyvsp[0];}
#line 27486 "SecParser.tab.cpp"
break;
case 107: /* atom: ZZIDENTIFIER */
#line 790 "SecParser.y"
{yyval = yyvsp[0];}
#line 27492 "SecParser.tab.cpp"
break;
case 108: /* atom: ZZFILE */
#line 791 "SecParser.y"
{yyval = yyvsp[0];}
#line 27498 "SecParser.tab.cpp"
break;
case 109: /* atom: ZZTUPLE */
#line 792 "SecParser.y"
{yyval = yyvsp[0];}
#line 27504 "SecParser.tab.cpp"
break;
case 110: /* atom: ZZGROUP */
#line 793 "SecParser.y"
{yyval = yyvsp[0];}
#line 27510 "SecParser.tab.cpp"
break;
case 111: /* list: elems */
#line 796 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ));}
#line 27518 "SecParser.tab.cpp"
break;
case 112: /* elems: %empty */
#line 801 "SecParser.y"
{yyval = NestedText::AtomC("");}
#line 27524 "SecParser.tab.cpp"
break;
case 113: /* elems: elem */
#line 802 "SecParser.y"
{yyval = yyvsp[0];}
#line 27530 "SecParser.tab.cpp"
break;
case 114: /* elems: elems ',' elem */
#line 803 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));}
#line 27537 "SecParser.tab.cpp"
break;
case 115: /* elem: valueexpr */
#line 807 "SecParser.y"
{yyval = yyvsp[0];}
#line 27543 "SecParser.tab.cpp"
break;
case 116: /* elem: valueexpr valueexpr */
#line 809 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 27553 "SecParser.tab.cpp"
break;
case 117: /* elem: namedfunction */
#line 814 "SecParser.y"
{yyval = yyvsp[0];}
#line 27559 "SecParser.tab.cpp"
break;
case 118: /* naming: ZZNAMING */
#line 817 "SecParser.y"
{yyval = yyvsp[0];}
#line 27565 "SecParser.tab.cpp"
break;
case 119: /* valueexprlistcomma: valueexpr */
#line 821 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 27571 "SecParser.tab.cpp"
break;
case 120: /* valueexprlistcomma: valueexprlistcomma ',' valueexpr */
#line 823 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "),yyvsp[0]));
}
#line 27579 "SecParser.tab.cpp"
break;
case 121: /* simplearguments: valueexprlistcomma */
#line 828 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 27585 "SecParser.tab.cpp"
break;
case 122: /* simplearguments: %empty */
#line 829 "SecParser.y"
{ yyval = NestedText::AtomC(" "); }
#line 27591 "SecParser.tab.cpp"
break;
case 123: /* simplearguments: simplearguments ';' simplearguments */
#line 831 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "),yyvsp[0]));
}
#line 27599 "SecParser.tab.cpp"
break;
case 124: /* valueexpr: ZZIDENTIFIER */
#line 836 "SecParser.y"
{yyval = yyvsp[0];}
#line 27605 "SecParser.tab.cpp"
break;
case 125: /* valueexpr: constant */
#line 837 "SecParser.y"
{yyval = yyvsp[0];}
#line 27611 "SecParser.tab.cpp"
break;
case 126: /* valueexpr: function */
#line 838 "SecParser.y"
{yyval = yyvsp[0];}
#line 27617 "SecParser.tab.cpp"
break;
case 127: /* valueexpr: ZZIDENTIFIER '(' elems ')' */
#line 840 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::AtomC(")") ))));}
#line 27627 "SecParser.tab.cpp"
break;
case 128: /* valueexpr: attribute */
#line 845 "SecParser.y"
{yyval = yyvsp[0];}
#line 27633 "SecParser.tab.cpp"
break;
case 129: /* valueexpr: attribute2 */
#line 846 "SecParser.y"
{yyval = yyvsp[0];}
#line 27639 "SecParser.tab.cpp"
break;
case 130: /* valueexpr: '(' valueexpr ')' */
#line 847 "SecParser.y"
{yyval = yyvsp[-1];}
#line 27645 "SecParser.tab.cpp"
break;
case 131: /* valueexpr: '[' ZZCONST typeexpr2 ZZVALUE nestedlist ']' */
#line 849 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::AtomC(")") ))));}
#line 27655 "SecParser.tab.cpp"
break;
case 132: /* valueexpr: '[' ZZCONST typeexpr2 ZZPOINTER nestedlist ']' */
#line 855 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" ( ptr"),
NestedText::Concat(yyvsp[-1],
NestedText::AtomC("))") ))));}
#line 27665 "SecParser.tab.cpp"
break;
case 133: /* valueexpr: '[' list ']' */
#line 860 "SecParser.y"
{yyval = yyvsp[-1];}
#line 27671 "SecParser.tab.cpp"
break;
case 134: /* valueexpr: '.' */
#line 862 "SecParser.y"
{yyval = NestedText::AtomC(params[1]);}
#line 27677 "SecParser.tab.cpp"
break;
case 135: /* valueexpr: ZZSINGLE */
#line 863 "SecParser.y"
{yyval = NestedText::AtomC(params[1]);}
#line 27683 "SecParser.tab.cpp"
break;
case 136: /* valueexpr: ZZDOUBLE */
#line 865 "SecParser.y"
{yyval = NestedText::AtomC(params[2]);}
#line 27689 "SecParser.tab.cpp"
break;
case 137: /* valueexpr: ZZARG3 */
#line 866 "SecParser.y"
{yyval = NestedText::AtomC(params[3]);}
#line 27695 "SecParser.tab.cpp"
break;
case 138: /* valueexpr: ZZARG4 */
#line 867 "SecParser.y"
{yyval = NestedText::AtomC(params[4]);}
#line 27701 "SecParser.tab.cpp"
break;
case 139: /* valueexpr: ZZARG5 */
#line 868 "SecParser.y"
{yyval = NestedText::AtomC(params[5]);}
#line 27707 "SecParser.tab.cpp"
break;
case 140: /* valueexpr: ZZARG6 */
#line 869 "SecParser.y"
{yyval = NestedText::AtomC(params[6]);}
#line 27713 "SecParser.tab.cpp"
break;
case 141: /* valueexpr: ZZARG7 */
#line 870 "SecParser.y"
{yyval = NestedText::AtomC(params[7]);}
#line 27719 "SecParser.tab.cpp"
break;
case 142: /* valueexpr: ZZARG8 */
#line 871 "SecParser.y"
{yyval = NestedText::AtomC(params[8]);}
#line 27725 "SecParser.tab.cpp"
break;
case 143: /* valueexpr: ZZARG9 */
#line 872 "SecParser.y"
{yyval = NestedText::AtomC(params[9]);}
#line 27731 "SecParser.tab.cpp"
break;
case 144: /* valueexpr: ZZTUPLE */
#line 873 "SecParser.y"
{yyval = NestedText::AtomC(params[1]);}
#line 27737 "SecParser.tab.cpp"
break;
case 145: /* valueexpr: ZZGROUP */
#line 874 "SecParser.y"
{yyval = NestedText::AtomC(params[1]);}
#line 27743 "SecParser.tab.cpp"
break;
case 146: /* valueexpr: valueexpr '{' ZZIDENTIFIER '}' */
#line 877 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(rename"),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::AtomC(")") )))));}
#line 27754 "SecParser.tab.cpp"
break;
case 147: /* valueexpr: valueexpr '{' ZZINTEGER '}' */
#line 885 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(counter"),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-3],
NestedText::AtomC(")") )))));}
#line 27765 "SecParser.tab.cpp"
break;
case 148: /* valueexpr: valueexpr '{' ZZREAL ',' ZZREAL '}' */
#line 893 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-5],
NestedText::AtomC(")") ))))));}
#line 27777 "SecParser.tab.cpp"
break;
case 149: /* valueexpr: valueexpr '{' ZZREAL ',' ZZINTEGER '}' */
#line 902 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat(yyvsp[-5],
NestedText::AtomC(")") ))))));}
#line 27789 "SecParser.tab.cpp"
break;
case 150: /* valueexpr: valueexpr '{' ZZINTEGER ',' ZZREAL '}' */
#line 911 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-5],
NestedText::AtomC(")") ))))));}
#line 27801 "SecParser.tab.cpp"
break;
case 151: /* valueexpr: valueexpr '{' ZZINTEGER ',' ZZINTEGER '}' */
#line 920 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat(yyvsp[-5],
NestedText::AtomC(")") ))))));}
#line 27813 "SecParser.tab.cpp"
break;
case 152: /* valueexpr: valueexpr '{' ZZMEMORY ZZINTEGER '}' */
#line 929 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("(memory "),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-4],
NestedText::AtomC(")") )))));}
#line 27824 "SecParser.tab.cpp"
break;
case 153: /* valueexpr: valueexpr ZZINFIXOP valueexpr */
#line 938 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))))));
}
#line 27837 "SecParser.tab.cpp"
break;
case 154: /* valueexpr: valueexpr ZZINFIXOP_BUF valueexpr */
#line 947 "SecParser.y"
{yyval = NestedText::Concat(
USE_AUTO_BUFFER?NestedText::AtomC("( ! (")
:NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
USE_AUTO_BUFFER?NestedText::AtomC("))")
:NestedText::AtomC(")") ))))));
}
#line 27853 "SecParser.tab.cpp"
break;
case 155: /* valueexpr: ZZPREFIXOP '(' valueexprlistcomma ')' */
#line 959 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
NestedText::AtomC(")") ))));
}
#line 27864 "SecParser.tab.cpp"
break;
case 156: /* valueexpr: ZZPREFIXOP_BUF '(' valueexprlistcomma ')' */
#line 966 "SecParser.y"
{yyval = NestedText::Concat(
USE_AUTO_BUFFER? NestedText::AtomC("( ! (")
: NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-1],
USE_AUTO_BUFFER?NestedText::AtomC("))")
:NestedText::AtomC(")") ))));
}
#line 27878 "SecParser.tab.cpp"
break;
case 157: /* valueexpr: ZZPREFIXOP '(' ')' */
#line 976 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-2],
NestedText::AtomC(")") ));
}
#line 27887 "SecParser.tab.cpp"
break;
case 158: /* valueexpr: ZZPREFIXOP_BUF '(' ')' */
#line 981 "SecParser.y"
{yyval = NestedText::Concat(
USE_AUTO_BUFFER?NestedText::AtomC("( ! (")
:NestedText::AtomC("("),
NestedText::Concat(yyvsp[-2],
USE_AUTO_BUFFER?NestedText::AtomC("))")
:NestedText::AtomC(")") ));
}
#line 27899 "SecParser.tab.cpp"
break;
case 159: /* valueexpr: valueexpr ZZPOSTFIXOP1 */
#line 999 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[0],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))); }
#line 27911 "SecParser.tab.cpp"
break;
case 160: /* valueexpr: valueexpr ZZPOSTFIXOP1_a '[' simplearguments ']' */
#line 1014 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))); }
#line 27925 "SecParser.tab.cpp"
break;
case 161: /* valueexpr: valueexpr valueexpr ZZPOSTFIXOP2_a '[' simplearguments ']' */
#line 1032 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))))); }
#line 27941 "SecParser.tab.cpp"
break;
case 162: /* valueexpr: valueexpr ZZNEST '[' list ';' valueexpr ']' */
#line 1054 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 27954 "SecParser.tab.cpp"
break;
case 163: /* valueexpr: valueexpr valueexpr ZZPOSTFIXOP2 */
#line 1070 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[0],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))); }
#line 27968 "SecParser.tab.cpp"
break;
case 164: /* valueexpr: valueexpr ZZSORTBY '[' list ']' */
#line 1088 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 27980 "SecParser.tab.cpp"
break;
case 165: /* valueexpr: valueexpr ZZSORTBYPARAM '[' list ';' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 1110 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))))); }
#line 27995 "SecParser.tab.cpp"
break;
case 166: /* valueexpr: valueexpr ZZSORTBYH '[' list ']' */
#line 1129 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 28007 "SecParser.tab.cpp"
break;
case 167: /* valueexpr: valueexpr ZZGDIJKSTRA '[' valueexpr ',' valueexpr ',' valueexpr ',' GDIJKSTRA_fun ',' valueexpr ',' valueexpr ']' */
#line 1155 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 28031 "SecParser.tab.cpp"
break;
case 168: /* valueexpr: valueexpr ZZMINPATHCOST2 '[' valueexpr ',' valueexpr ',' valueexpr ',' MINPATHCOST2_fun ',' valueexpr ']' */
#line 1191 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 28053 "SecParser.tab.cpp"
break;
case 169: /* valueexpr: valueexpr valueexpr ZZGBIDIJKSTRA '[' valueexpr ',' valueexpr ',' valueexpr ',' valueexpr ',' GBIDIJKSTRA_fun ']' */
#line 1226 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 28077 "SecParser.tab.cpp"
break;
case 170: /* valueexpr: valueexpr valueexpr ZZMTMINPATHCOSTS2 '[' valueexpr ',' valueexpr ',' valueexpr ',' MTMINPATHCOSTS2_fun ',' valueexpr ']' */
#line 1263 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 28101 "SecParser.tab.cpp"
break;
case 171: /* valueexpr: valueexpr ZZD_SEND_SHUFFLE '[' D_SEND_SHUFFLE_fun ',' valueexpr ',' valueexpr ']' */
#line 1295 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28119 "SecParser.tab.cpp"
break;
case 172: /* valueexpr: valueexpr ZZDSHUFFLE '[' DSHUFFLE_fun ',' valueexpr ',' valueexpr ']' */
#line 1321 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28137 "SecParser.tab.cpp"
break;
case 173: /* valueexpr: valueexpr ZZDSHUFFLE2 '[' DSHUFFLE2_fun ',' valueexpr ']' */
#line 1345 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28153 "SecParser.tab.cpp"
break;
case 174: /* valueexpr: valueexpr ZZDSHUFFLE1 '[' DSHUFFLE1_fun ']' */
#line 1365 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28167 "SecParser.tab.cpp"
break;
case 175: /* valueexpr: valueexpr ZZDLOOP_OLD '[' DLOOP_OLD_fun ']' */
#line 1383 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28181 "SecParser.tab.cpp"
break;
case 176: /* valueexpr: valueexpr valueexpr ZZDLOOPA_OLD '[' DLOOPA_OLD_fun ']' */
#line 1402 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28197 "SecParser.tab.cpp"
break;
case 177: /* valueexpr: valueexpr ZZDTIE '[' DTIE_fun ']' */
#line 1422 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28211 "SecParser.tab.cpp"
break;
case 178: /* valueexpr: valueexpr ZZPARTITIONDMAP '[' valueexpr ',' PARTITIONDMAP_fun ',' valueexpr ',' PARTITIONDMAP_fun ']' */
#line 1446 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28231 "SecParser.tab.cpp"
break;
case 179: /* valueexpr: valueexpr ZZDMAPPDMAP '[' valueexpr ',' DMAPPDMAP_fun ',' DMAPPDMAP_fun ',' valueexpr ',' DMAPPDMAP_fun ']' */
#line 1478 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 28253 "SecParser.tab.cpp"
break;
case 180: /* valueexpr: valueexpr ZZFDISTRIBUTE2TES '[' valueexpr ',' FDISTRIBUTE2TES_fun ',' valueexpr ',' valueexpr ']' */
#line 1510 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28273 "SecParser.tab.cpp"
break;
case 181: /* valueexpr: valueexpr ZZDISTRIBUTE2TES '[' valueexpr ',' DISTRIBUTE2TES_fun ',' valueexpr ',' valueexpr ']' */
#line 1540 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28293 "SecParser.tab.cpp"
break;
case 182: /* valueexpr: valueexpr ZZCOLLECTPC2 '[' valueexpr ',' valueexpr ',' valueexpr ';' list ']' */
#line 1570 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))))); }
#line 28308 "SecParser.tab.cpp"
break;
case 183: /* valueexpr: valueexpr ZZOPTICSR '[' list ']' */
#line 1589 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 28320 "SecParser.tab.cpp"
break;
case 184: /* valueexpr: valueexpr ZZOPTICSM '[' list ']' */
#line 1605 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 28332 "SecParser.tab.cpp"
break;
case 185: /* valueexpr: valueexpr ZZOPTICSF '[' valueexpr ',' valueexpr ',' valueexpr ',' OPTICSF_fun ']' */
#line 1627 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28352 "SecParser.tab.cpp"
break;
case 186: /* valueexpr: valueexpr ZZOPTICSTF '[' valueexpr ',' valueexpr ',' OPTICSTF_fun ']' */
#line 1655 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28370 "SecParser.tab.cpp"
break;
case 187: /* valueexpr: valueexpr ZZFILTERV '[' FILTERV_fun ',' valueexpr ']' */
#line 1679 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28386 "SecParser.tab.cpp"
break;
case 188: /* valueexpr: valueexpr ZZFILTERNP '[' FILTERNP_fun ']' */
#line 1699 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28400 "SecParser.tab.cpp"
break;
case 189: /* valueexpr: valueexpr ZZEXTENDV '[' EXTENDV_funlist ']' */
#line 1717 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28414 "SecParser.tab.cpp"
break;
case 190: /* valueexpr: valueexpr ZZPROJECTEXTENDV '[' list ';' PROJECTEXTENDV_funlist ']' */
#line 1737 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28430 "SecParser.tab.cpp"
break;
case 191: /* valueexpr: valueexpr ZZEXTENDNP '[' EXTENDNP_funlist ']' */
#line 1757 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28444 "SecParser.tab.cpp"
break;
case 192: /* valueexpr: valueexpr ZZPROJECTEXTENDNP '[' list ';' PROJECTEXTENDNP_funlist ']' */
#line 1777 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28460 "SecParser.tab.cpp"
break;
case 193: /* valueexpr: valueexpr ZZDBDACSCAN '[' list ']' */
#line 1797 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 28472 "SecParser.tab.cpp"
break;
case 194: /* valueexpr: valueexpr valueexpr ZZDISTSAMP '[' list ']' */
#line 1814 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 28486 "SecParser.tab.cpp"
break;
case 195: /* valueexpr: valueexpr ZZAPPLYPREDICATE '[' APPLYPREDICATE_fun ']' */
#line 1832 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28500 "SecParser.tab.cpp"
break;
case 196: /* valueexpr: valueexpr ZZFEEDPROJECT '[' list ']' */
#line 1850 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 28512 "SecParser.tab.cpp"
break;
case 197: /* valueexpr: valueexpr ZZFILTER '[' FILTER_fun ']' */
#line 1866 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))); }
#line 28526 "SecParser.tab.cpp"
break;
case 198: /* valueexpr: valueexpr ZZCFILTER '[' CFILTER_fun ',' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 1890 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))))))); }
#line 28546 "SecParser.tab.cpp"
break;
case 199: /* valueexpr: valueexpr ZZCAND '[' CAND_fun ',' CAND_fun ']' */
#line 1916 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28562 "SecParser.tab.cpp"
break;
case 200: /* valueexpr: valueexpr ZZCOR '[' COR_fun ',' COR_fun ']' */
#line 1938 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28578 "SecParser.tab.cpp"
break;
case 201: /* valueexpr: valueexpr ZZWITHIN '[' WITHIN_fun ']' */
#line 1958 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28592 "SecParser.tab.cpp"
break;
case 202: /* valueexpr: valueexpr valueexpr ZZWITHIN2 '[' WITHIN2_fun ']' */
#line 1977 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28608 "SecParser.tab.cpp"
break;
case 203: /* valueexpr: valueexpr ZZWHILEDO '[' WHILEDO_fun ';' WHILEDO_fun ';' valueexpr ']' */
#line 2001 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28626 "SecParser.tab.cpp"
break;
case 204: /* valueexpr: valueexpr ZZFUNSEQ1 '[' FUNSEQ1_fun ']' */
#line 2023 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 28640 "SecParser.tab.cpp"
break;
case 205: /* valueexpr: valueexpr ZZFUNSEQ2 '[' FUNSEQ2_fun ',' FUNSEQ2_fun ']' */
#line 2043 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28656 "SecParser.tab.cpp"
break;
case 206: /* valueexpr: valueexpr ZZFUNSEQ3 '[' FUNSEQ3_fun ',' FUNSEQ3_fun ',' FUNSEQ3_fun ']' */
#line 2067 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28674 "SecParser.tab.cpp"
break;
case 207: /* valueexpr: valueexpr ZZFUNSEQ4 '[' FUNSEQ4_fun ',' FUNSEQ4_fun ',' FUNSEQ4_fun ',' FUNSEQ4_fun ']' */
#line 2095 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28694 "SecParser.tab.cpp"
break;
case 208: /* valueexpr: valueexpr ZZFUNSEQ5 '[' FUNSEQ5_fun ',' FUNSEQ5_fun ',' FUNSEQ5_fun ',' FUNSEQ5_fun ',' FUNSEQ5_fun ']' */
#line 2127 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 28716 "SecParser.tab.cpp"
break;
case 209: /* valueexpr: valueexpr ZZFUNSEQ6 '[' FUNSEQ6_fun ',' FUNSEQ6_fun ',' FUNSEQ6_fun ',' FUNSEQ6_fun ',' FUNSEQ6_fun ',' FUNSEQ6_fun ']' */
#line 2163 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 28740 "SecParser.tab.cpp"
break;
case 210: /* valueexpr: valueexpr ZZDDISTRIBUTE4 '[' valueexpr ',' DDISTRIBUTE4_fun ',' valueexpr ',' valueexpr ']' */
#line 2197 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28760 "SecParser.tab.cpp"
break;
case 211: /* valueexpr: valueexpr ZZFDISTRIBUTE7 '[' valueexpr ',' FDISTRIBUTE7_fun ',' valueexpr ',' valueexpr ']' */
#line 2227 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28780 "SecParser.tab.cpp"
break;
case 212: /* valueexpr: valueexpr ZZDLOOP '[' valueexpr ',' DLOOP_fun ']' */
#line 2253 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28796 "SecParser.tab.cpp"
break;
case 213: /* valueexpr: valueexpr valueexpr ZZDLOOP2 '[' valueexpr ',' DLOOP2_fun ']' */
#line 2276 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28814 "SecParser.tab.cpp"
break;
case 214: /* valueexpr: valueexpr ZZDMAP '[' valueexpr ',' DMAP_fun ']' */
#line 2300 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 28830 "SecParser.tab.cpp"
break;
case 215: /* valueexpr: valueexpr valueexpr ZZPDMAP '[' valueexpr ',' PDMAP_fun ']' */
#line 2323 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 28848 "SecParser.tab.cpp"
break;
case 216: /* valueexpr: valueexpr valueexpr ZZDMAP2n '[' valueexpr ',' DMAP2n_fun ',' valueexpr ']' */
#line 2350 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28868 "SecParser.tab.cpp"
break;
case 217: /* valueexpr: valueexpr valueexpr ZZDMAP2 '[' valueexpr ',' DMAP2_fun ',' valueexpr ']' */
#line 2379 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 28888 "SecParser.tab.cpp"
break;
case 218: /* valueexpr: valueexpr valueexpr valueexpr ZZDMAP3 '[' valueexpr ',' DMAP3_fun ',' valueexpr ']' */
#line 2409 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 28910 "SecParser.tab.cpp"
break;
case 219: /* valueexpr: valueexpr valueexpr valueexpr valueexpr ZZDMAP4 '[' valueexpr ',' DMAP4_fun ',' valueexpr ']' */
#line 2442 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 28934 "SecParser.tab.cpp"
break;
case 220: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr ZZDMAP5 '[' valueexpr ',' DMAP5_fun ',' valueexpr ']' */
#line 2478 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))); }
#line 28960 "SecParser.tab.cpp"
break;
case 221: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZDMAP6 '[' valueexpr ',' DMAP6_fun ',' valueexpr ']' */
#line 2517 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))); }
#line 28988 "SecParser.tab.cpp"
break;
case 222: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZDMAP7 '[' valueexpr ',' DMAP7_fun ',' valueexpr ']' */
#line 2559 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))))); }
#line 29018 "SecParser.tab.cpp"
break;
case 223: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZDMAP8 '[' valueexpr ',' DMAP8_fun ',' valueexpr ']' */
#line 2604 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-15],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))))))); }
#line 29050 "SecParser.tab.cpp"
break;
case 224: /* valueexpr: valueexpr valueexpr valueexpr ZZPDMAP2 '[' valueexpr ',' PDMAP2_fun ',' valueexpr ']' */
#line 2646 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 29072 "SecParser.tab.cpp"
break;
case 225: /* valueexpr: valueexpr valueexpr valueexpr valueexpr ZZPDMAP3 '[' valueexpr ',' PDMAP3_fun ',' valueexpr ']' */
#line 2679 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 29096 "SecParser.tab.cpp"
break;
case 226: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr ZZPDMAP4 '[' valueexpr ',' PDMAP4_fun ',' valueexpr ']' */
#line 2715 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))); }
#line 29122 "SecParser.tab.cpp"
break;
case 227: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZPDMAP5 '[' valueexpr ',' PDMAP5_fun ',' valueexpr ']' */
#line 2754 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))); }
#line 29150 "SecParser.tab.cpp"
break;
case 228: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZPDMAP6 '[' valueexpr ',' PDMAP6_fun ',' valueexpr ']' */
#line 2796 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))))); }
#line 29180 "SecParser.tab.cpp"
break;
case 229: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZPDMAP7 '[' valueexpr ',' PDMAP7_fun ',' valueexpr ']' */
#line 2841 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-15],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))))))); }
#line 29212 "SecParser.tab.cpp"
break;
case 230: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZPDMAP8 '[' valueexpr ',' PDMAP8_fun ',' valueexpr ']' */
#line 2889 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-16],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-15],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))))))))))); }
#line 29246 "SecParser.tab.cpp"
break;
case 231: /* valueexpr: valueexpr ZZDFDISTRIBUTE4 '[' valueexpr ',' DFDISTRIBUTE4_fun ',' valueexpr ',' valueexpr ']' */
#line 2933 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 29266 "SecParser.tab.cpp"
break;
case 232: /* valueexpr: valueexpr ZZPARTITION '[' valueexpr ',' PARTITION_fun ',' valueexpr ']' */
#line 2961 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 29284 "SecParser.tab.cpp"
break;
case 233: /* valueexpr: valueexpr ZZPARTITIONF '[' valueexpr ',' PARTITIONF_fun ',' PARTITIONF_fun ',' valueexpr ']' */
#line 2989 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 29304 "SecParser.tab.cpp"
break;
case 234: /* valueexpr: valueexpr ZZAREDUCE '[' valueexpr ',' AREDUCE_fun ',' valueexpr ']' */
#line 3017 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 29322 "SecParser.tab.cpp"
break;
case 235: /* valueexpr: valueexpr valueexpr ZZAREDUCE2 '[' valueexpr ',' AREDUCE2_fun ',' valueexpr ']' */
#line 3044 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 29342 "SecParser.tab.cpp"
break;
case 236: /* valueexpr: valueexpr valueexpr ZZAREDUCE2F '[' valueexpr ',' AREDUCE2F_fun ',' valueexpr ',' valueexpr ']' */
#line 3075 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 29364 "SecParser.tab.cpp"
break;
case 237: /* valueexpr: valueexpr valueexpr ZZDPRODUCT '[' valueexpr ',' DPRODUCT_fun ',' valueexpr ']' */
#line 3106 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 29384 "SecParser.tab.cpp"
break;
case 238: /* valueexpr: valueexpr ZZDDISTRIBUTE '[' valueexpr ',' DDISTRIBUTE_fun ',' DDISTRIBUTE_fun ',' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 3140 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 29408 "SecParser.tab.cpp"
break;
case 239: /* valueexpr: valueexpr ZZDFDISTRIBUTE '[' valueexpr ',' DFDISTRIBUTE_fun ',' DFDISTRIBUTE_fun ',' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 3178 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 29432 "SecParser.tab.cpp"
break;
case 240: /* valueexpr: valueexpr ZZPARTITION8LOCAL '[' PARTITION8LOCAL_fun ',' PARTITION8LOCAL_fun ',' valueexpr ',' valueexpr ',' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 3218 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-15],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-16],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))); }
#line 29458 "SecParser.tab.cpp"
break;
case 241: /* valueexpr: valueexpr ZZPARTITIONF8 '[' valueexpr ',' PARTITIONF8_fun ',' PARTITIONF8_fun ',' PARTITIONF8_fun ',' valueexpr ',' valueexpr ']' */
#line 3258 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 29482 "SecParser.tab.cpp"
break;
case 242: /* valueexpr: valueexpr ZZLOOPJOINREL '[' LOOPJOINREL_fun ']' */
#line 3286 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 29496 "SecParser.tab.cpp"
break;
case 243: /* valueexpr: valueexpr ZZCONSTGRAPH '[' valueexpr ',' valueexpr ',' CONSTGRAPH_fun ']' */
#line 3308 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 29514 "SecParser.tab.cpp"
break;
case 244: /* valueexpr: valueexpr ZZCONSTGRAPHPOINTS '[' valueexpr ',' valueexpr ',' CONSTGRAPHPOINTS_fun ',' valueexpr ',' valueexpr ']' */
#line 3338 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 29536 "SecParser.tab.cpp"
break;
case 245: /* valueexpr: valueexpr ZZTRANSLATE '[' list ']' */
#line 3364 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29548 "SecParser.tab.cpp"
break;
case 246: /* valueexpr: valueexpr valueexpr valueexpr ZZPOSTFIXOP3_a '[' simplearguments ']' */
#line 3381 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))))))); }
#line 29566 "SecParser.tab.cpp"
break;
case 247: /* valueexpr: valueexpr ZZEXISTS '[' EXISTS_fun ']' */
#line 3403 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 29580 "SecParser.tab.cpp"
break;
case 248: /* valueexpr: valueexpr ZZFORALL '[' FORALL_fun ']' */
#line 3421 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 29594 "SecParser.tab.cpp"
break;
case 249: /* valueexpr: valueexpr valueexpr valueexpr ZZPOSTFIXOP3 */
#line 3439 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[0],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))))); }
#line 29610 "SecParser.tab.cpp"
break;
case 250: /* valueexpr: valueexpr valueexpr valueexpr ZZPARAJOIN '[' PARAJOIN_fun ']' */
#line 3461 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 29628 "SecParser.tab.cpp"
break;
case 251: /* valueexpr: valueexpr ZZFCONSUME '[' list ';' list ';' list ']' */
#line 3487 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 29642 "SecParser.tab.cpp"
break;
case 252: /* valueexpr: valueexpr ZZFFEED '[' list ';' list ';' list ']' */
#line 3509 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 29656 "SecParser.tab.cpp"
break;
case 253: /* valueexpr: valueexpr valueexpr ZZHADOOPJOIN '[' valueexpr ',' valueexpr ',' valueexpr ',' valueexpr ';' list ';' HADOOPJOIN_fun ']' */
#line 3538 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-15],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))))); }
#line 29682 "SecParser.tab.cpp"
break;
case 254: /* valueexpr: valueexpr ZZFDISTRIBUTE '[' list ';' list ';' list ';' list ']' */
#line 3574 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))))); }
#line 29697 "SecParser.tab.cpp"
break;
case 255: /* valueexpr: valueexpr ZZFFEED2 '[' list ';' list ';' list ']' */
#line 3597 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 29711 "SecParser.tab.cpp"
break;
case 256: /* valueexpr: valueexpr ZZFCONSUME3 '[' list ';' list ';' list ']' */
#line 3619 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 29725 "SecParser.tab.cpp"
break;
case 257: /* valueexpr: valueexpr ZZFFEED3 '[' list ';' list ';' list ']' */
#line 3641 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 29739 "SecParser.tab.cpp"
break;
case 258: /* valueexpr: valueexpr ZZFETCHFLOB '[' list ']' */
#line 3659 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29751 "SecParser.tab.cpp"
break;
case 259: /* valueexpr: valueexpr ZZFDISTRIBUTE3 '[' list ';' list ';' list ';' list ']' */
#line 3681 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))))); }
#line 29766 "SecParser.tab.cpp"
break;
case 260: /* valueexpr: valueexpr ZZMOCONSUME '[' list ']' */
#line 3700 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29778 "SecParser.tab.cpp"
break;
case 261: /* valueexpr: valueexpr ZZMOCONSUMEFLOB '[' list ']' */
#line 3716 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29790 "SecParser.tab.cpp"
break;
case 262: /* valueexpr: valueexpr ZZMINSERTTUPLE '[' list ']' */
#line 3732 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29802 "SecParser.tab.cpp"
break;
case 263: /* valueexpr: valueexpr ZZMINSERTTUPLESAVE '[' list ';' valueexpr ']' */
#line 3750 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 29815 "SecParser.tab.cpp"
break;
case 264: /* valueexpr: valueexpr ZZMUPDATE '[' valueexpr ';' MUPDATE_funlist ']' */
#line 3769 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 29831 "SecParser.tab.cpp"
break;
case 265: /* valueexpr: valueexpr ZZMUPDATESAVE '[' valueexpr ',' valueexpr ';' MUPDATESAVE_funlist ']' */
#line 3793 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 29849 "SecParser.tab.cpp"
break;
case 266: /* valueexpr: valueexpr ZZMUPDATEBYID '[' valueexpr ';' MUPDATEBYID_funlist ']' */
#line 3817 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 29865 "SecParser.tab.cpp"
break;
case 267: /* valueexpr: valueexpr valueexpr ZZMUPDATEDIRECT2 '[' valueexpr ';' MUPDATEDIRECT2_funlist ']' */
#line 3840 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 29883 "SecParser.tab.cpp"
break;
case 268: /* valueexpr: valueexpr ZZMORANGE '[' list ';' list ']' */
#line 3864 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 29896 "SecParser.tab.cpp"
break;
case 269: /* valueexpr: valueexpr ZZMOLEFTRANGE '[' list ']' */
#line 3881 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29908 "SecParser.tab.cpp"
break;
case 270: /* valueexpr: valueexpr ZZMORIGHTRANGE '[' list ']' */
#line 3897 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29920 "SecParser.tab.cpp"
break;
case 271: /* valueexpr: valueexpr ZZMOSHORTESTPATHD '[' valueexpr ',' valueexpr ',' valueexpr ';' MOSHORTESTPATHD_fun ']' */
#line 3919 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 29940 "SecParser.tab.cpp"
break;
case 272: /* valueexpr: valueexpr ZZMOSHORTESTPATHA '[' valueexpr ',' valueexpr ',' valueexpr ';' MOSHORTESTPATHA_fun ',' MOSHORTESTPATHA_fun ']' */
#line 3951 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 29962 "SecParser.tab.cpp"
break;
case 273: /* valueexpr: valueexpr ZZMQUICKSORTBY '[' list ']' */
#line 3977 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 29974 "SecParser.tab.cpp"
break;
case 274: /* valueexpr: valueexpr ZZMGSHORTESTPATHD '[' valueexpr ',' valueexpr ',' valueexpr ';' MGSHORTESTPATHD_fun ']' */
#line 3999 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 29994 "SecParser.tab.cpp"
break;
case 275: /* valueexpr: valueexpr ZZMGSHORTESTPATHA '[' valueexpr ',' valueexpr ',' valueexpr ';' MGSHORTESTPATHA_fun ',' MGSHORTESTPATHA_fun ']' */
#line 4031 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 30016 "SecParser.tab.cpp"
break;
case 276: /* valueexpr: valueexpr ZZMINSERTTUPLEPQPROJECTU '[' valueexpr ',' valueexpr ',' valueexpr ';' list ']' */
#line 4063 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))))); }
#line 30031 "SecParser.tab.cpp"
break;
case 277: /* valueexpr: valueexpr ZZMINSERTTUPLEPQPROJECT '[' valueexpr ',' valueexpr ';' list ']' */
#line 4086 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 30045 "SecParser.tab.cpp"
break;
case 278: /* valueexpr: valueexpr ZZMPQREORDER '[' MPQREORDER_fun ']' */
#line 4104 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30059 "SecParser.tab.cpp"
break;
case 279: /* valueexpr: valueexpr ZZMPQREORDERUPDATE '[' MPQREORDERUPDATE_fun ',' valueexpr ']' */
#line 4124 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30075 "SecParser.tab.cpp"
break;
case 280: /* valueexpr: valueexpr ZZCREATEMGRAPH2 '[' valueexpr ',' valueexpr ',' CREATEMGRAPH2_fun ']' */
#line 4148 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 30093 "SecParser.tab.cpp"
break;
case 281: /* valueexpr: valueexpr ZZCREATEMGRAPH2FLOB '[' valueexpr ',' valueexpr ',' CREATEMGRAPH2FLOB_fun ']' */
#line 4174 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 30111 "SecParser.tab.cpp"
break;
case 282: /* valueexpr: valueexpr ZZMG2INSERTORIG '[' valueexpr ',' valueexpr ',' MG2INSERTORIG_fun ',' valueexpr ']' */
#line 4202 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30131 "SecParser.tab.cpp"
break;
case 283: /* valueexpr: valueexpr ZZMEMGROUPBY '[' list ';' MEMGROUPBY_funlist ']' */
#line 4228 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30147 "SecParser.tab.cpp"
break;
case 284: /* valueexpr: valueexpr valueexpr ZZMMERGEJOINPROJECT '[' valueexpr ',' valueexpr ';' list ']' */
#line 4253 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))))); }
#line 30163 "SecParser.tab.cpp"
break;
case 285: /* valueexpr: valueexpr ZZPUSE '[' PUSE_fun ']' */
#line 4273 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30177 "SecParser.tab.cpp"
break;
case 286: /* valueexpr: valueexpr valueexpr ZZPJOIN2 '[' PJOIN2_funlist ']' */
#line 4292 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30193 "SecParser.tab.cpp"
break;
case 287: /* valueexpr: valueexpr valueexpr ZZPJOIN1 '[' valueexpr ';' PJOIN1_funlist ']' */
#line 4315 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 30211 "SecParser.tab.cpp"
break;
case 288: /* valueexpr: valueexpr ZZEXTENDITEMNAMES '[' valueexpr ';' list ']' */
#line 4339 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 30224 "SecParser.tab.cpp"
break;
case 289: /* valueexpr: valueexpr ZZSORTARRAY '[' SORTARRAY_fun ']' */
#line 4356 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30238 "SecParser.tab.cpp"
break;
case 290: /* valueexpr: valueexpr ZZTIE '[' TIE_fun ']' */
#line 4374 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30252 "SecParser.tab.cpp"
break;
case 291: /* valueexpr: valueexpr ZZCUMULATE '[' CUMULATE_fun ']' */
#line 4392 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30266 "SecParser.tab.cpp"
break;
case 292: /* valueexpr: valueexpr ZZLOOP '[' LOOP_fun ']' */
#line 4410 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30280 "SecParser.tab.cpp"
break;
case 293: /* valueexpr: valueexpr valueexpr ZZLOOPA '[' LOOPA_fun ']' */
#line 4429 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30296 "SecParser.tab.cpp"
break;
case 294: /* valueexpr: valueexpr valueexpr ZZLOOPB '[' LOOPB_fun ']' */
#line 4450 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30312 "SecParser.tab.cpp"
break;
case 295: /* valueexpr: valueexpr ZZLOOPSWITCH '[' LOOPSWITCH_funlist ']' */
#line 4470 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30326 "SecParser.tab.cpp"
break;
case 296: /* valueexpr: valueexpr valueexpr ZZLOOPSWITCHA '[' LOOPSWITCHA_funlist ']' */
#line 4489 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30342 "SecParser.tab.cpp"
break;
case 297: /* valueexpr: valueexpr valueexpr ZZLOOPSWITCHB '[' LOOPSWITCHB_funlist ']' */
#line 4510 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30358 "SecParser.tab.cpp"
break;
case 298: /* valueexpr: valueexpr ZZLOOPSELECT '[' LOOPSELECT_funlist ';' valueexpr ',' valueexpr ']' */
#line 4534 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 30376 "SecParser.tab.cpp"
break;
case 299: /* valueexpr: valueexpr valueexpr ZZLOOPSELECTA '[' LOOPSELECTA_funlist ';' valueexpr ',' valueexpr ']' */
#line 4561 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30396 "SecParser.tab.cpp"
break;
case 300: /* valueexpr: valueexpr valueexpr ZZLOOPSELECTB '[' LOOPSELECTB_funlist ';' valueexpr ',' valueexpr ']' */
#line 4590 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30416 "SecParser.tab.cpp"
break;
case 301: /* valueexpr: valueexpr valueexpr ZZPARTJOIN '[' PARTJOIN_fun ']' */
#line 4615 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30432 "SecParser.tab.cpp"
break;
case 302: /* valueexpr: valueexpr valueexpr ZZPARTJOINSWITCH '[' PARTJOINSWITCH_funlist ']' */
#line 4636 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30448 "SecParser.tab.cpp"
break;
case 303: /* valueexpr: valueexpr valueexpr ZZPARTJOINSELECT '[' PARTJOINSELECT_funlist ';' valueexpr ',' valueexpr ']' */
#line 4661 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30468 "SecParser.tab.cpp"
break;
case 304: /* valueexpr: valueexpr ZZEXTEND '[' EXTEND_funlist ']' */
#line 4685 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30482 "SecParser.tab.cpp"
break;
case 305: /* valueexpr: valueexpr valueexpr ZZPARAJOIN2 '[' valueexpr ',' valueexpr ';' PARAJOIN2_fun ']' */
#line 4708 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30502 "SecParser.tab.cpp"
break;
case 306: /* valueexpr: valueexpr ZZDRELFILTER '[' DRELFILTER_fun ']' */
#line 4732 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30516 "SecParser.tab.cpp"
break;
case 307: /* valueexpr: valueexpr ZZDRELEXTEND '[' DRELEXTEND_funlist ']' */
#line 4750 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30530 "SecParser.tab.cpp"
break;
case 308: /* valueexpr: valueexpr ZZDRELPROJECTEXTEND '[' list ';' DRELPROJECTEXTEND_funlist ']' */
#line 4770 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30546 "SecParser.tab.cpp"
break;
case 309: /* valueexpr: valueexpr ZZPROJECT '[' list ']' */
#line 4790 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 30558 "SecParser.tab.cpp"
break;
case 310: /* valueexpr: valueexpr ZZLSORTBY '[' list ']' */
#line 4806 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 30570 "SecParser.tab.cpp"
break;
case 311: /* valueexpr: valueexpr ZZDRELLGROUPBY '[' list ';' DRELLGROUPBY_funlist ']' */
#line 4824 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30586 "SecParser.tab.cpp"
break;
case 312: /* valueexpr: valueexpr ZZDRELGROUPBY '[' list ';' DRELGROUPBY_funlist ']' */
#line 4846 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30602 "SecParser.tab.cpp"
break;
case 313: /* valueexpr: valueexpr ZZDRELINSERTTUPLE '[' list ';' valueexpr ']' */
#line 4868 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 30615 "SecParser.tab.cpp"
break;
case 314: /* valueexpr: valueexpr valueexpr ZZDRELUPDATE '[' DRELUPDATE_funlist ';' valueexpr ']' */
#line 4888 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 30633 "SecParser.tab.cpp"
break;
case 315: /* valueexpr: valueexpr valueexpr ZZDRELUPDATEBYID '[' valueexpr ';' DRELUPDATEBYID_funlist ';' valueexpr ']' */
#line 4915 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30653 "SecParser.tab.cpp"
break;
case 316: /* valueexpr: valueexpr ZZDRELFILTERADDID '[' DRELFILTERADDID_fun ']' */
#line 4939 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30667 "SecParser.tab.cpp"
break;
case 317: /* valueexpr: valueexpr ZZDRELFILTERDELETE '[' DRELFILTERDELETE_fun ']' */
#line 4957 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30681 "SecParser.tab.cpp"
break;
case 318: /* valueexpr: valueexpr ZZDRELFILTERUPDATE '[' DRELFILTERUPDATE_fun ';' DRELFILTERUPDATE_funlist ']' */
#line 4977 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30697 "SecParser.tab.cpp"
break;
case 319: /* valueexpr: valueexpr ZZDBSCANR '[' list ']' */
#line 4997 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 30709 "SecParser.tab.cpp"
break;
case 320: /* valueexpr: valueexpr ZZDBSCANM '[' list ']' */
#line 5013 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 30721 "SecParser.tab.cpp"
break;
case 321: /* valueexpr: valueexpr ZZDBSCANF '[' valueexpr ',' valueexpr ',' valueexpr ',' valueexpr ',' DBSCANF_fun ']' */
#line 5037 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 30743 "SecParser.tab.cpp"
break;
case 322: /* valueexpr: valueexpr ZZDBSCANTF '[' valueexpr ',' valueexpr ',' valueexpr ',' DBSCANTF_fun ']' */
#line 5069 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30763 "SecParser.tab.cpp"
break;
case 323: /* valueexpr: valueexpr ZZPFILTERS '[' valueexpr ',' valueexpr ',' valueexpr ',' PFILTERS_fun ']' */
#line 5099 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30783 "SecParser.tab.cpp"
break;
case 324: /* valueexpr: valueexpr ZZPEXTEND '[' valueexpr ',' valueexpr ',' valueexpr ';' PEXTEND_funlist ']' */
#line 5129 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30803 "SecParser.tab.cpp"
break;
case 325: /* valueexpr: valueexpr ZZPEXTENDSTREAM '[' valueexpr ',' valueexpr ',' valueexpr ';' PEXTENDSTREAM_funlist ']' */
#line 5159 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30823 "SecParser.tab.cpp"
break;
case 326: /* valueexpr: valueexpr ZZPLOOPSEL '[' valueexpr ',' valueexpr ',' valueexpr ',' PLOOPSEL_fun ']' */
#line 5189 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30843 "SecParser.tab.cpp"
break;
case 327: /* valueexpr: valueexpr ZZPLOOPJOIN '[' valueexpr ',' valueexpr ',' valueexpr ',' PLOOPJOIN_fun ']' */
#line 5219 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 30863 "SecParser.tab.cpp"
break;
case 328: /* valueexpr: valueexpr ZZPAGGREGATE '[' valueexpr ',' valueexpr ',' valueexpr ';' PAGGREGATE_fun ';' valueexpr ']' */
#line 5251 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 30885 "SecParser.tab.cpp"
break;
case 329: /* valueexpr: valueexpr ZZPAGGREGATEB '[' valueexpr ',' valueexpr ',' valueexpr ';' PAGGREGATEB_fun ';' valueexpr ']' */
#line 5285 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 30907 "SecParser.tab.cpp"
break;
case 330: /* valueexpr: valueexpr ZZPSORTBY '[' valueexpr ',' valueexpr ';' list ']' */
#line 5315 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 30921 "SecParser.tab.cpp"
break;
case 331: /* valueexpr: valueexpr valueexpr valueexpr valueexpr ZZPOSTFIXOP4_a '[' simplearguments ']' */
#line 5335 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))))))))); }
#line 30941 "SecParser.tab.cpp"
break;
case 332: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr valueexpr ZZPOSTFIXOP6_a '[' simplearguments ']' */
#line 5363 "SecParser.y"
{ yyval =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))))))))))))))))); }
#line 30965 "SecParser.tab.cpp"
break;
case 333: /* valueexpr: valueexpr ZZAGGREGATES '[' AGGREGATES_fun ';' valueexpr ']' */
#line 5393 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 30981 "SecParser.tab.cpp"
break;
case 334: /* valueexpr: valueexpr ZZUSE '[' USE_fun ']' */
#line 5413 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 30995 "SecParser.tab.cpp"
break;
case 335: /* valueexpr: valueexpr valueexpr ZZUSE2 '[' USE2_fun ']' */
#line 5432 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31011 "SecParser.tab.cpp"
break;
case 336: /* valueexpr: valueexpr ZZTS '[' TS_funlist ']' */
#line 5452 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31025 "SecParser.tab.cpp"
break;
case 337: /* valueexpr: valueexpr ZZAS '[' AS_fun ']' */
#line 5470 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31039 "SecParser.tab.cpp"
break;
case 338: /* valueexpr: valueexpr ZZstreamfun '[' streamfun_fun ']' */
#line 5488 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31053 "SecParser.tab.cpp"
break;
case 339: /* valueexpr: valueexpr ZZprog '[' prog_fun ',' valueexpr ']' */
#line 5508 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31069 "SecParser.tab.cpp"
break;
case 340: /* valueexpr: valueexpr ZZSYNC '[' SYNC_fun ',' valueexpr ',' valueexpr ']' */
#line 5532 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31087 "SecParser.tab.cpp"
break;
case 341: /* valueexpr: valueexpr ZZSideEffect '[' SideEffect_fun ']' */
#line 5554 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31101 "SecParser.tab.cpp"
break;
case 342: /* valueexpr: valueexpr ZZTRANSLATE_GROOM '[' list ']' */
#line 5572 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31113 "SecParser.tab.cpp"
break;
case 343: /* valueexpr: valueexpr ZZOLEFTRANGE '[' list ']' */
#line 5588 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31125 "SecParser.tab.cpp"
break;
case 344: /* valueexpr: valueexpr ZZORIGHTRANGE '[' list ']' */
#line 5604 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31137 "SecParser.tab.cpp"
break;
case 345: /* valueexpr: valueexpr ZZORANGE '[' list ';' list ']' */
#line 5622 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 31150 "SecParser.tab.cpp"
break;
case 346: /* valueexpr: valueexpr ZZOSHORTESTPATHD '[' valueexpr ',' valueexpr ',' valueexpr ';' OSHORTESTPATHD_fun ']' */
#line 5645 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 31170 "SecParser.tab.cpp"
break;
case 347: /* valueexpr: valueexpr ZZOSHORTESTPATHA '[' valueexpr ',' valueexpr ',' valueexpr ';' OSHORTESTPATHA_fun ',' OSHORTESTPATHA_fun ']' */
#line 5677 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 31192 "SecParser.tab.cpp"
break;
case 348: /* valueexpr: valueexpr ZZREAD2 '[' READ2_fun ']' */
#line 5703 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31206 "SecParser.tab.cpp"
break;
case 349: /* valueexpr: valueexpr ZZREAD3 '[' READ3_fun ']' */
#line 5721 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31220 "SecParser.tab.cpp"
break;
case 350: /* valueexpr: valueexpr ZZRDERIVE '[' valueexpr ',' RDERIVE_fun ']' */
#line 5741 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31236 "SecParser.tab.cpp"
break;
case 351: /* valueexpr: valueexpr valueexpr ZZREAD3_1 '[' READ3_1_fun ']' */
#line 5762 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31252 "SecParser.tab.cpp"
break;
case 352: /* valueexpr: valueexpr valueexpr valueexpr ZZREAD3_2 '[' READ3_2_fun ']' */
#line 5784 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31270 "SecParser.tab.cpp"
break;
case 353: /* valueexpr: valueexpr ZZFILTERX '[' FILTERX_fun ']' */
#line 5806 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31284 "SecParser.tab.cpp"
break;
case 354: /* valueexpr: valueexpr ZZINSERTTUPLE '[' list ']' */
#line 5824 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31296 "SecParser.tab.cpp"
break;
case 355: /* valueexpr: valueexpr valueexpr ZZINSERTTUPLESAVE '[' list ']' */
#line 5841 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 31310 "SecParser.tab.cpp"
break;
case 356: /* valueexpr: valueexpr valueexpr ZZUPDATESEARCH '[' UPDATESEARCH_funlist ']' */
#line 5860 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31326 "SecParser.tab.cpp"
break;
case 357: /* valueexpr: valueexpr valueexpr ZZUPDATEDIRECT '[' UPDATEDIRECT_funlist ']' */
#line 5881 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31342 "SecParser.tab.cpp"
break;
case 358: /* valueexpr: valueexpr valueexpr ZZUPDATEDIRECT2 '[' valueexpr ';' UPDATEDIRECT2_funlist ']' */
#line 5904 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31360 "SecParser.tab.cpp"
break;
case 359: /* valueexpr: valueexpr valueexpr ZZUPDATEBYID2 '[' valueexpr ';' UPDATEBYID2_funlist ']' */
#line 5929 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31378 "SecParser.tab.cpp"
break;
case 360: /* valueexpr: valueexpr valueexpr valueexpr ZZUPDATESEARCHSAVE '[' UPDATESEARCHSAVE_funlist ']' */
#line 5953 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31396 "SecParser.tab.cpp"
break;
case 361: /* valueexpr: valueexpr valueexpr valueexpr ZZUPDATEDIRECTSAVE '[' UPDATEDIRECTSAVE_funlist ']' */
#line 5977 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31414 "SecParser.tab.cpp"
break;
case 362: /* valueexpr: valueexpr ZZUPDATEBYID '[' valueexpr ';' UPDATEBYID_funlist ']' */
#line 6001 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31430 "SecParser.tab.cpp"
break;
case 363: /* valueexpr: valueexpr ZZFILTERINSERT '[' FILTERINSERT_fun ',' valueexpr ']' */
#line 6023 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31446 "SecParser.tab.cpp"
break;
case 364: /* valueexpr: valueexpr ZZCPROJECTEXTEND '[' list ';' CPROJECTEXTEND_funlist ']' */
#line 6045 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
#line 31462 "SecParser.tab.cpp"
break;
case 365: /* valueexpr: valueexpr ZZMAP '[' MAP_fun ']' */
#line 6065 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31476 "SecParser.tab.cpp"
break;
case 366: /* valueexpr: valueexpr valueexpr ZZMAP2 '[' MAP2_fun ']' */
#line 6084 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31492 "SecParser.tab.cpp"
break;
case 367: /* valueexpr: valueexpr ZZMATCHGRID '[' valueexpr ',' MATCHGRID_fun ',' valueexpr ']' */
#line 6108 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31510 "SecParser.tab.cpp"
break;
case 368: /* valueexpr: valueexpr ZZREPLACEELEM '[' REPLACEELEM_fun ']' */
#line 6130 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31524 "SecParser.tab.cpp"
break;
case 369: /* valueexpr: valueexpr ZZGROUPBY2 '[' list ';' GROUPBY2_funlist ']' */
#line 6150 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31540 "SecParser.tab.cpp"
break;
case 370: /* valueexpr: valueexpr ZZSPREAD '[' list ';' list ';' list ']' */
#line 6174 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 31554 "SecParser.tab.cpp"
break;
case 371: /* valueexpr: valueexpr ZZCOLLECT '[' list ']' */
#line 6192 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31566 "SecParser.tab.cpp"
break;
case 372: /* valueexpr: valueexpr ZZHADOOPMAP '[' list ';' HADOOPMAP_fun ']' */
#line 6210 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31582 "SecParser.tab.cpp"
break;
case 373: /* valueexpr: valueexpr ZZHADOOPREDUCE '[' list ';' HADOOPREDUCE_fun ']' */
#line 6232 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31598 "SecParser.tab.cpp"
break;
case 374: /* valueexpr: valueexpr valueexpr ZZHADOOPREDUCE2 '[' list ';' HADOOPREDUCE2_fun ']' */
#line 6255 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31616 "SecParser.tab.cpp"
break;
case 375: /* valueexpr: valueexpr ZZPFFEED '[' list ';' list ']' */
#line 6279 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 31629 "SecParser.tab.cpp"
break;
case 376: /* valueexpr: valueexpr ZZPFFEED2 '[' list ';' list ']' */
#line 6298 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 31642 "SecParser.tab.cpp"
break;
case 377: /* valueexpr: valueexpr ZZPFFEED3 '[' list ';' list ']' */
#line 6317 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 31655 "SecParser.tab.cpp"
break;
case 378: /* valueexpr: valueexpr valueexpr ZZHADOOPMAP2 '[' list ';' HADOOPMAP2_fun ']' */
#line 6337 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31673 "SecParser.tab.cpp"
break;
case 379: /* valueexpr: valueexpr ZZREPORTPATTERN '[' list ';' list ']' */
#line 6361 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 31686 "SecParser.tab.cpp"
break;
case 380: /* valueexpr: valueexpr ZZGPATTERN '[' GPATTERN_fun ',' GPATTERN_fun ',' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 6386 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-12],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 31708 "SecParser.tab.cpp"
break;
case 381: /* valueexpr: valueexpr ZZCROSSPATTERN '[' CROSSPATTERN_fun ',' CROSSPATTERN_fun ',' CROSSPATTERN_fun ',' valueexpr ',' valueexpr ',' valueexpr ']' */
#line 6422 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-13],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-14],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-11],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 31732 "SecParser.tab.cpp"
break;
case 382: /* valueexpr: valueexpr ZZMTHREADEDMERGESORT '[' list ']' */
#line 6450 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31744 "SecParser.tab.cpp"
break;
case 383: /* valueexpr: valueexpr ZZMTHREADEDFILTER '[' MTHREADEDFILTER_fun ']' */
#line 6466 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))); }
#line 31758 "SecParser.tab.cpp"
break;
case 384: /* valueexpr: valueexpr ZZCANCEL '[' CANCEL_fun ']' */
#line 6484 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31772 "SecParser.tab.cpp"
break;
case 385: /* valueexpr: valueexpr ZZKRDUP '[' list ']' */
#line 6502 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31784 "SecParser.tab.cpp"
break;
case 386: /* valueexpr: valueexpr ZZPROJECTEXTEND '[' list ';' PROJECTEXTEND_funlist ']' */
#line 6520 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31800 "SecParser.tab.cpp"
break;
case 387: /* valueexpr: valueexpr ZZEXTENDSTREAM '[' EXTENDSTREAM_funlist ']' */
#line 6540 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31814 "SecParser.tab.cpp"
break;
case 388: /* valueexpr: valueexpr ZZPROJECTEXTENDSTREAM '[' list ';' PROJECTEXTENDSTREAM_funlist ']' */
#line 6560 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31830 "SecParser.tab.cpp"
break;
case 389: /* valueexpr: valueexpr ZZGROUPBY '[' list ';' GROUPBY_funlist ']' */
#line 6582 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 31846 "SecParser.tab.cpp"
break;
case 390: /* valueexpr: valueexpr ZZSLIDINGWINDOW '[' valueexpr ',' valueexpr ';' SLIDINGWINDOW_funlist ']' */
#line 6606 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31864 "SecParser.tab.cpp"
break;
case 391: /* valueexpr: valueexpr ZZSORTBYOLD '[' list ']' */
#line 6628 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 31876 "SecParser.tab.cpp"
break;
case 392: /* valueexpr: valueexpr valueexpr ZZPOSTFIXOP2_a_autobuffer '[' simplearguments ']' */
#line 6644 "SecParser.y"
{ yyval =
NestedText::Concat(
(USE_AUTO_BUFFER? NestedText::AtomC("( ! (") : NestedText::AtomC("(")) ,
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER? NestedText::AtomC("))") : NestedText::AtomC(")")))))))))); }
#line 31892 "SecParser.tab.cpp"
break;
case 393: /* valueexpr: valueexpr ZZLOOPJOIN '[' LOOPJOIN_fun ']' */
#line 6664 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))); }
#line 31906 "SecParser.tab.cpp"
break;
case 394: /* valueexpr: valueexpr ZZLOOPSEL '[' LOOPSEL_fun ']' */
#line 6682 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 31920 "SecParser.tab.cpp"
break;
case 395: /* valueexpr: valueexpr ZZAGGREGATE '[' valueexpr ';' AGGREGATE_fun ';' valueexpr ']' */
#line 6704 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31938 "SecParser.tab.cpp"
break;
case 396: /* valueexpr: valueexpr ZZAGGREGATEB '[' valueexpr ';' AGGREGATEB_fun ';' valueexpr ']' */
#line 6730 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 31956 "SecParser.tab.cpp"
break;
case 397: /* valueexpr: valueexpr valueexpr ZZSYMMJOIN '[' SYMMJOIN_fun ']' */
#line 6753 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
#line 31972 "SecParser.tab.cpp"
break;
case 398: /* valueexpr: valueexpr valueexpr ZZSYMMOUTERJOIN '[' SYMMOUTERJOIN_fun ']' */
#line 6774 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
#line 31988 "SecParser.tab.cpp"
break;
case 399: /* valueexpr: valueexpr valueexpr ZZSYMMPRODUCTEXTEND '[' SYMMPRODUCTEXTEND_funlist ']' */
#line 6795 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32004 "SecParser.tab.cpp"
break;
case 400: /* valueexpr: valueexpr ZZKSMALLEST '[' valueexpr ';' list ']' */
#line 6817 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32017 "SecParser.tab.cpp"
break;
case 401: /* valueexpr: valueexpr ZZKBIGGEST '[' valueexpr ';' list ']' */
#line 6836 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32030 "SecParser.tab.cpp"
break;
case 402: /* valueexpr: valueexpr ZZEXTEND_AGGR '[' list ';' list ']' */
#line 6855 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32043 "SecParser.tab.cpp"
break;
case 403: /* valueexpr: valueexpr ZZEXTEND_LAST '[' EXTEND_LAST_funlist ']' */
#line 6872 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 32057 "SecParser.tab.cpp"
break;
case 404: /* valueexpr: valueexpr ZZEXTEND_NEXT '[' EXTEND_NEXT_funlist ']' */
#line 6890 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 32071 "SecParser.tab.cpp"
break;
case 405: /* valueexpr: valueexpr ZZREPLACEATTR '[' REPLACEATTR_funlist ']' */
#line 6908 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 32085 "SecParser.tab.cpp"
break;
case 406: /* valueexpr: valueexpr ZZPFILTER '[' PFILTER_fun ']' */
#line 6926 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 32099 "SecParser.tab.cpp"
break;
case 407: /* valueexpr: valueexpr ZZEXTENDX '[' list ';' EXTENDX_fun ';' valueexpr ']' */
#line 6948 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32117 "SecParser.tab.cpp"
break;
case 408: /* valueexpr: valueexpr valueexpr ZZOBOJOIND '[' list ']' */
#line 6971 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32131 "SecParser.tab.cpp"
break;
case 409: /* valueexpr: valueexpr ZZISORDEREDBY '[' list ']' */
#line 6989 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 32143 "SecParser.tab.cpp"
break;
case 410: /* valueexpr: valueexpr ZZADDMODCOUNTER '[' valueexpr ',' valueexpr ',' ADDMODCOUNTER_fun ',' ADDMODCOUNTER_fun ']' */
#line 7011 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 32163 "SecParser.tab.cpp"
break;
case 411: /* valueexpr: valueexpr ZZUSEHISTOGRAM '[' list ';' USEHISTOGRAM_fun ']' */
#line 7037 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32179 "SecParser.tab.cpp"
break;
case 412: /* valueexpr: valueexpr valueexpr ZZUSEHISTOGRAM2 '[' list ';' USEHISTOGRAM2_fun ']' */
#line 7060 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32197 "SecParser.tab.cpp"
break;
case 413: /* valueexpr: valueexpr ZZDMAPS '[' valueexpr ',' DMAPS_fun ']' */
#line 7084 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32213 "SecParser.tab.cpp"
break;
case 414: /* valueexpr: valueexpr valueexpr ZZDMAPS2 '[' valueexpr ',' DMAPS2_fun ']' */
#line 7107 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32231 "SecParser.tab.cpp"
break;
case 415: /* valueexpr: valueexpr valueexpr valueexpr ZZDMAPS3 '[' valueexpr ',' DMAPS3_fun ']' */
#line 7133 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 32251 "SecParser.tab.cpp"
break;
case 416: /* valueexpr: valueexpr valueexpr valueexpr valueexpr ZZDMAPS4 '[' valueexpr ',' DMAPS4_fun ']' */
#line 7162 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))); }
#line 32273 "SecParser.tab.cpp"
break;
case 417: /* valueexpr: valueexpr valueexpr valueexpr valueexpr valueexpr ZZDMAPS5 '[' valueexpr ',' DMAPS5_fun ']' */
#line 7194 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))))))); }
#line 32297 "SecParser.tab.cpp"
break;
case 418: /* valueexpr: valueexpr valueexpr ZZDPRODUCTS '[' valueexpr ',' DPRODUCTS_fun ']' */
#line 7225 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32315 "SecParser.tab.cpp"
break;
case 419: /* valueexpr: valueexpr ZZPARTITIONFS '[' valueexpr ',' PARTITIONFS_fun ',' PARTITIONFS_fun ',' valueexpr ']' */
#line 7253 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-9],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-10],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))))); }
#line 32335 "SecParser.tab.cpp"
break;
case 420: /* valueexpr: valueexpr ZZDBSCAN '[' DBSCAN_fun ',' valueexpr ',' valueexpr ']' */
#line 7281 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))))); }
#line 32353 "SecParser.tab.cpp"
break;
case 421: /* valueexpr: valueexpr valueexpr ZZREGISTERFORSTREAM '[' valueexpr ',' REGISTERFORSTREAM_fun ']' */
#line 7306 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32371 "SecParser.tab.cpp"
break;
case 422: /* valueexpr: valueexpr ZZNEST2 '[' list ';' valueexpr ']' */
#line 7330 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32384 "SecParser.tab.cpp"
break;
case 423: /* valueexpr: valueexpr ZZPREDCOUNTS '[' PREDCOUNTS_funlist ']' */
#line 7347 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))); }
#line 32398 "SecParser.tab.cpp"
break;
case 424: /* valueexpr: valueexpr ZZSTPATTERN '[' list ';' list ']' */
#line 7367 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32411 "SecParser.tab.cpp"
break;
case 425: /* valueexpr: valueexpr ZZSTPATTERN2 '[' list ';' list ']' */
#line 7386 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32424 "SecParser.tab.cpp"
break;
case 426: /* valueexpr: valueexpr ZZSTPATTERNEX '[' list ';' list ';' valueexpr ']' */
#line 7407 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 32438 "SecParser.tab.cpp"
break;
case 427: /* valueexpr: valueexpr ZZSTPATTERNEX2 '[' list ';' list ';' valueexpr ']' */
#line 7429 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))))); }
#line 32452 "SecParser.tab.cpp"
break;
case 428: /* valueexpr: valueexpr ZZSTPATTERNEXTEND '[' STPATTERNEXTEND_funlist ';' list ']' */
#line 7449 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32468 "SecParser.tab.cpp"
break;
case 429: /* valueexpr: valueexpr ZZSTPATTERNEXTEND2 '[' STPATTERNEXTEND2_funlist ';' list ']' */
#line 7471 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32484 "SecParser.tab.cpp"
break;
case 430: /* valueexpr: valueexpr ZZSTPATTERNEXEXTEND '[' STPATTERNEXEXTEND_funlist ';' list ';' STPATTERNEXEXTEND_fun ']' */
#line 7495 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32502 "SecParser.tab.cpp"
break;
case 431: /* valueexpr: valueexpr ZZSTPATTERNEXEXTEND2 '[' STPATTERNEXEXTEND2_funlist ';' list ';' STPATTERNEXEXTEND2_fun ']' */
#line 7521 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32520 "SecParser.tab.cpp"
break;
case 432: /* valueexpr: valueexpr ZZSTPATTERNEXTENDSTREAM '[' STPATTERNEXTENDSTREAM_funlist ';' list ']' */
#line 7545 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32536 "SecParser.tab.cpp"
break;
case 433: /* valueexpr: valueexpr ZZSTPATTERNEXTENDSTREAM2 '[' STPATTERNEXTENDSTREAM2_funlist ';' list ']' */
#line 7567 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32552 "SecParser.tab.cpp"
break;
case 434: /* valueexpr: valueexpr ZZSTPATTERNEXEXTENDSTREAM '[' STPATTERNEXEXTENDSTREAM_funlist ';' list ';' STPATTERNEXEXTENDSTREAM_fun ']' */
#line 7591 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32570 "SecParser.tab.cpp"
break;
case 435: /* valueexpr: valueexpr ZZSTPATTERNEXEXTENDSTREAM2 '[' STPATTERNEXEXTENDSTREAM2_funlist ';' list ';' STPATTERNEXEXTENDSTREAM2_fun ']' */
#line 7617 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))))); }
#line 32588 "SecParser.tab.cpp"
break;
case 436: /* valueexpr: valueexpr ZZCOMPUTECLOSURE '[' list ';' list ']' */
#line 7641 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3], NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))))); }
#line 32601 "SecParser.tab.cpp"
break;
case 437: /* valueexpr: valueexpr ZZOCONSUME '[' list ']' */
#line 7658 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 32613 "SecParser.tab.cpp"
break;
case 438: /* valueexpr: valueexpr ZZREMOVE '[' list ']' */
#line 7674 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 32625 "SecParser.tab.cpp"
break;
case 439: /* valueexpr: valueexpr ZZREDUCE '[' REDUCE_fun ',' valueexpr ']' */
#line 7692 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-6],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
NestedText::AtomC(")"))
))))))); }
#line 32641 "SecParser.tab.cpp"
break;
case 440: /* valueexpr: valueexpr ZZRENAMEATTR '[' list ']' */
#line 7712 "SecParser.y"
{ yyval = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1], NestedText::AtomC(")"))))))); }
#line 32653 "SecParser.tab.cpp"
break;
case 441: /* valueexpr: valueexpr ZZTSMOTIFBFFUN '[' valueexpr ',' valueexpr ',' TSMOTIFBFFUN_fun ']' */
#line 7732 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-7],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-8],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))))); }
#line 32671 "SecParser.tab.cpp"
break;
case 442: /* valueexpr: valueexpr valueexpr ZZTSDISTANCEFUN '[' TSDISTANCEFUN_fun ']' */
#line 7755 "SecParser.y"
{ yyval = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-5],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-4],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( yyvsp[-1],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
#line 32687 "SecParser.tab.cpp"
break;
case 443: /* $@9: %empty */
#line 7774 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32700 "SecParser.tab.cpp"
break;
case 444: /* GDIJKSTRA_fun: $@9 valueexpr */
#line 7783 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32719 "SecParser.tab.cpp"
break;
case 445: /* GDIJKSTRA_fun: function */
#line 7797 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32725 "SecParser.tab.cpp"
break;
case 446: /* $@10: %empty */
#line 7804 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32738 "SecParser.tab.cpp"
break;
case 447: /* MINPATHCOST2_fun: $@10 valueexpr */
#line 7813 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32757 "SecParser.tab.cpp"
break;
case 448: /* MINPATHCOST2_fun: function */
#line 7827 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32763 "SecParser.tab.cpp"
break;
case 449: /* $@11: %empty */
#line 7834 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32776 "SecParser.tab.cpp"
break;
case 450: /* GBIDIJKSTRA_fun: $@11 valueexpr */
#line 7843 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32795 "SecParser.tab.cpp"
break;
case 451: /* GBIDIJKSTRA_fun: function */
#line 7857 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32801 "SecParser.tab.cpp"
break;
case 452: /* $@12: %empty */
#line 7864 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32814 "SecParser.tab.cpp"
break;
case 453: /* MTMINPATHCOSTS2_fun: $@12 valueexpr */
#line 7873 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32833 "SecParser.tab.cpp"
break;
case 454: /* MTMINPATHCOSTS2_fun: function */
#line 7887 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32839 "SecParser.tab.cpp"
break;
case 455: /* $@13: %empty */
#line 7894 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32852 "SecParser.tab.cpp"
break;
case 456: /* D_SEND_SHUFFLE_fun: $@13 valueexpr */
#line 7903 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32871 "SecParser.tab.cpp"
break;
case 457: /* D_SEND_SHUFFLE_fun: function */
#line 7917 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32877 "SecParser.tab.cpp"
break;
case 458: /* $@14: %empty */
#line 7924 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32890 "SecParser.tab.cpp"
break;
case 459: /* DSHUFFLE_fun: $@14 valueexpr */
#line 7933 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELATION"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32909 "SecParser.tab.cpp"
break;
case 460: /* DSHUFFLE_fun: function */
#line 7947 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32915 "SecParser.tab.cpp"
break;
case 461: /* $@15: %empty */
#line 7954 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32928 "SecParser.tab.cpp"
break;
case 462: /* DSHUFFLE2_fun: $@15 valueexpr */
#line 7963 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELATION"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32947 "SecParser.tab.cpp"
break;
case 463: /* DSHUFFLE2_fun: function */
#line 7977 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32953 "SecParser.tab.cpp"
break;
case 464: /* $@16: %empty */
#line 7984 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 32966 "SecParser.tab.cpp"
break;
case 465: /* DSHUFFLE1_fun: $@16 valueexpr */
#line 7993 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELATION"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 32985 "SecParser.tab.cpp"
break;
case 466: /* DSHUFFLE1_fun: function */
#line 8007 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 32991 "SecParser.tab.cpp"
break;
case 467: /* $@17: %empty */
#line 8014 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33004 "SecParser.tab.cpp"
break;
case 468: /* DLOOP_OLD_fun: $@17 valueexpr */
#line 8023 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33023 "SecParser.tab.cpp"
break;
case 469: /* DLOOP_OLD_fun: function */
#line 8037 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33029 "SecParser.tab.cpp"
break;
case 470: /* $@18: %empty */
#line 8044 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 33047 "SecParser.tab.cpp"
break;
case 471: /* DLOOPA_OLD_fun: $@18 valueexpr */
#line 8058 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 33073 "SecParser.tab.cpp"
break;
case 472: /* DLOOPA_OLD_fun: function */
#line 8079 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33079 "SecParser.tab.cpp"
break;
case 473: /* $@19: %empty */
#line 8086 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 33097 "SecParser.tab.cpp"
break;
case 474: /* DTIE_fun: $@19 valueexpr */
#line 8100 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 33123 "SecParser.tab.cpp"
break;
case 475: /* DTIE_fun: function */
#line 8121 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33129 "SecParser.tab.cpp"
break;
case 476: /* $@20: %empty */
#line 8128 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33142 "SecParser.tab.cpp"
break;
case 477: /* PARTITIONDMAP_fun: $@20 valueexpr */
#line 8137 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PDTS"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33161 "SecParser.tab.cpp"
break;
case 478: /* PARTITIONDMAP_fun: function */
#line 8151 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33167 "SecParser.tab.cpp"
break;
case 479: /* $@21: %empty */
#line 8158 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33180 "SecParser.tab.cpp"
break;
case 480: /* DMAPPDMAP_fun: $@21 valueexpr */
#line 8167 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DPD4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33199 "SecParser.tab.cpp"
break;
case 481: /* DMAPPDMAP_fun: function */
#line 8181 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33205 "SecParser.tab.cpp"
break;
case 482: /* $@22: %empty */
#line 8188 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33218 "SecParser.tab.cpp"
break;
case 483: /* FDISTRIBUTE2TES_fun: $@22 valueexpr */
#line 8197 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33237 "SecParser.tab.cpp"
break;
case 484: /* FDISTRIBUTE2TES_fun: function */
#line 8211 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33243 "SecParser.tab.cpp"
break;
case 485: /* $@23: %empty */
#line 8218 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33256 "SecParser.tab.cpp"
break;
case 486: /* DISTRIBUTE2TES_fun: $@23 valueexpr */
#line 8227 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33275 "SecParser.tab.cpp"
break;
case 487: /* DISTRIBUTE2TES_fun: function */
#line 8241 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33281 "SecParser.tab.cpp"
break;
case 488: /* $@24: %empty */
#line 8248 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 33299 "SecParser.tab.cpp"
break;
case 489: /* OPTICSF_fun: $@24 valueexpr */
#line 8262 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 33325 "SecParser.tab.cpp"
break;
case 490: /* OPTICSF_fun: function */
#line 8283 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33331 "SecParser.tab.cpp"
break;
case 491: /* $@25: %empty */
#line 8290 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 33349 "SecParser.tab.cpp"
break;
case 492: /* OPTICSTF_fun: $@25 valueexpr */
#line 8304 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 33375 "SecParser.tab.cpp"
break;
case 493: /* OPTICSTF_fun: function */
#line 8325 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33381 "SecParser.tab.cpp"
break;
case 494: /* $@26: %empty */
#line 8332 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33394 "SecParser.tab.cpp"
break;
case 495: /* FILTERV_fun: $@26 valueexpr */
#line 8341 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TVS2T"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33413 "SecParser.tab.cpp"
break;
case 496: /* FILTERV_fun: function */
#line 8355 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33419 "SecParser.tab.cpp"
break;
case 497: /* $@27: %empty */
#line 8362 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33432 "SecParser.tab.cpp"
break;
case 498: /* FILTERNP_fun: $@27 valueexpr */
#line 8371 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33451 "SecParser.tab.cpp"
break;
case 499: /* FILTERNP_fun: function */
#line 8385 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33457 "SecParser.tab.cpp"
break;
case 500: /* EXTENDV_fun: naming EXTENDV_fun_1 */
#line 8393 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 33467 "SecParser.tab.cpp"
break;
case 501: /* EXTENDV_fun: naming EXTENDV_fun_1 ZZDEFAULTSEP valueexpr */
#line 8399 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 33477 "SecParser.tab.cpp"
break;
case 502: /* EXTENDV_fun: EXTENDV_fun_1 */
#line 8404 "SecParser.y"
{yyval = yyvsp[0];}
#line 33483 "SecParser.tab.cpp"
break;
case 503: /* EXTENDV_fun: EXTENDV_fun_1 ZZDEFAULTSEP valueexpr */
#line 8406 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 33489 "SecParser.tab.cpp"
break;
case 504: /* $@28: %empty */
#line 8413 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33502 "SecParser.tab.cpp"
break;
case 505: /* EXTENDV_fun_1: $@28 valueexpr */
#line 8422 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TVS2T"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33521 "SecParser.tab.cpp"
break;
case 506: /* EXTENDV_fun_1: function */
#line 8436 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33527 "SecParser.tab.cpp"
break;
case 507: /* EXTENDV_funlist: EXTENDV_funlist_1 */
#line 8444 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 33536 "SecParser.tab.cpp"
break;
case 508: /* EXTENDV_funlist_1: EXTENDV_fun */
#line 8454 "SecParser.y"
{yyval = yyvsp[0];}
#line 33542 "SecParser.tab.cpp"
break;
case 509: /* EXTENDV_funlist_1: EXTENDV_funlist_1 ',' EXTENDV_fun */
#line 8456 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 33550 "SecParser.tab.cpp"
break;
case 510: /* PROJECTEXTENDV_fun: naming PROJECTEXTENDV_fun_1 */
#line 8466 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 33560 "SecParser.tab.cpp"
break;
case 511: /* PROJECTEXTENDV_fun: naming PROJECTEXTENDV_fun_1 ZZDEFAULTSEP valueexpr */
#line 8472 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 33570 "SecParser.tab.cpp"
break;
case 512: /* PROJECTEXTENDV_fun: PROJECTEXTENDV_fun_1 */
#line 8477 "SecParser.y"
{yyval = yyvsp[0];}
#line 33576 "SecParser.tab.cpp"
break;
case 513: /* PROJECTEXTENDV_fun: PROJECTEXTENDV_fun_1 ZZDEFAULTSEP valueexpr */
#line 8479 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 33582 "SecParser.tab.cpp"
break;
case 514: /* $@29: %empty */
#line 8486 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33595 "SecParser.tab.cpp"
break;
case 515: /* PROJECTEXTENDV_fun_1: $@29 valueexpr */
#line 8495 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TVS2T"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33614 "SecParser.tab.cpp"
break;
case 516: /* PROJECTEXTENDV_fun_1: function */
#line 8509 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33620 "SecParser.tab.cpp"
break;
case 517: /* PROJECTEXTENDV_funlist: PROJECTEXTENDV_funlist_1 */
#line 8517 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 33629 "SecParser.tab.cpp"
break;
case 518: /* PROJECTEXTENDV_funlist_1: PROJECTEXTENDV_fun */
#line 8527 "SecParser.y"
{yyval = yyvsp[0];}
#line 33635 "SecParser.tab.cpp"
break;
case 519: /* PROJECTEXTENDV_funlist_1: PROJECTEXTENDV_funlist_1 ',' PROJECTEXTENDV_fun */
#line 8529 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 33643 "SecParser.tab.cpp"
break;
case 520: /* EXTENDNP_fun: naming EXTENDNP_fun_1 */
#line 8539 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 33653 "SecParser.tab.cpp"
break;
case 521: /* EXTENDNP_fun: naming EXTENDNP_fun_1 ZZDEFAULTSEP valueexpr */
#line 8545 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 33663 "SecParser.tab.cpp"
break;
case 522: /* EXTENDNP_fun: EXTENDNP_fun_1 */
#line 8550 "SecParser.y"
{yyval = yyvsp[0];}
#line 33669 "SecParser.tab.cpp"
break;
case 523: /* EXTENDNP_fun: EXTENDNP_fun_1 ZZDEFAULTSEP valueexpr */
#line 8552 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 33675 "SecParser.tab.cpp"
break;
case 524: /* $@30: %empty */
#line 8559 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33688 "SecParser.tab.cpp"
break;
case 525: /* EXTENDNP_fun_1: $@30 valueexpr */
#line 8568 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33707 "SecParser.tab.cpp"
break;
case 526: /* EXTENDNP_fun_1: function */
#line 8582 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33713 "SecParser.tab.cpp"
break;
case 527: /* EXTENDNP_funlist: EXTENDNP_funlist_1 */
#line 8590 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 33722 "SecParser.tab.cpp"
break;
case 528: /* EXTENDNP_funlist_1: EXTENDNP_fun */
#line 8600 "SecParser.y"
{yyval = yyvsp[0];}
#line 33728 "SecParser.tab.cpp"
break;
case 529: /* EXTENDNP_funlist_1: EXTENDNP_funlist_1 ',' EXTENDNP_fun */
#line 8602 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 33736 "SecParser.tab.cpp"
break;
case 530: /* PROJECTEXTENDNP_fun: naming PROJECTEXTENDNP_fun_1 */
#line 8612 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 33746 "SecParser.tab.cpp"
break;
case 531: /* PROJECTEXTENDNP_fun: naming PROJECTEXTENDNP_fun_1 ZZDEFAULTSEP valueexpr */
#line 8618 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 33756 "SecParser.tab.cpp"
break;
case 532: /* PROJECTEXTENDNP_fun: PROJECTEXTENDNP_fun_1 */
#line 8623 "SecParser.y"
{yyval = yyvsp[0];}
#line 33762 "SecParser.tab.cpp"
break;
case 533: /* PROJECTEXTENDNP_fun: PROJECTEXTENDNP_fun_1 ZZDEFAULTSEP valueexpr */
#line 8625 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 33768 "SecParser.tab.cpp"
break;
case 534: /* $@31: %empty */
#line 8632 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33781 "SecParser.tab.cpp"
break;
case 535: /* PROJECTEXTENDNP_fun_1: $@31 valueexpr */
#line 8641 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33800 "SecParser.tab.cpp"
break;
case 536: /* PROJECTEXTENDNP_fun_1: function */
#line 8655 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33806 "SecParser.tab.cpp"
break;
case 537: /* PROJECTEXTENDNP_funlist: PROJECTEXTENDNP_funlist_1 */
#line 8663 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 33815 "SecParser.tab.cpp"
break;
case 538: /* PROJECTEXTENDNP_funlist_1: PROJECTEXTENDNP_fun */
#line 8673 "SecParser.y"
{yyval = yyvsp[0];}
#line 33821 "SecParser.tab.cpp"
break;
case 539: /* PROJECTEXTENDNP_funlist_1: PROJECTEXTENDNP_funlist_1 ',' PROJECTEXTENDNP_fun */
#line 8675 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 33829 "SecParser.tab.cpp"
break;
case 540: /* $@32: %empty */
#line 8684 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"blockentry");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33842 "SecParser.tab.cpp"
break;
case 541: /* APPLYPREDICATE_fun: $@32 valueexpr */
#line 8693 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" BLOCKENTRY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33861 "SecParser.tab.cpp"
break;
case 542: /* APPLYPREDICATE_fun: function */
#line 8707 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33867 "SecParser.tab.cpp"
break;
case 543: /* $@33: %empty */
#line 8714 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33880 "SecParser.tab.cpp"
break;
case 544: /* FILTER_fun: $@33 valueexpr */
#line 8723 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33899 "SecParser.tab.cpp"
break;
case 545: /* FILTER_fun: function */
#line 8737 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33905 "SecParser.tab.cpp"
break;
case 546: /* $@34: %empty */
#line 8744 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33918 "SecParser.tab.cpp"
break;
case 547: /* CFILTER_fun: $@34 valueexpr */
#line 8753 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33937 "SecParser.tab.cpp"
break;
case 548: /* CFILTER_fun: function */
#line 8767 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33943 "SecParser.tab.cpp"
break;
case 549: /* $@35: %empty */
#line 8774 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"block");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33956 "SecParser.tab.cpp"
break;
case 550: /* CAND_fun: $@35 valueexpr */
#line 8783 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 33975 "SecParser.tab.cpp"
break;
case 551: /* CAND_fun: function */
#line 8797 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 33981 "SecParser.tab.cpp"
break;
case 552: /* $@36: %empty */
#line 8804 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"block");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 33994 "SecParser.tab.cpp"
break;
case 553: /* COR_fun: $@36 valueexpr */
#line 8813 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34013 "SecParser.tab.cpp"
break;
case 554: /* COR_fun: function */
#line 8827 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34019 "SecParser.tab.cpp"
break;
case 555: /* $@37: %empty */
#line 8834 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"const1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 34032 "SecParser.tab.cpp"
break;
case 556: /* WITHIN_fun: $@37 valueexpr */
#line 8843 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34051 "SecParser.tab.cpp"
break;
case 557: /* WITHIN_fun: function */
#line 8857 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34057 "SecParser.tab.cpp"
break;
case 558: /* $@38: %empty */
#line 8864 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"const1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"const2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 34075 "SecParser.tab.cpp"
break;
case 559: /* WITHIN2_fun: $@38 valueexpr */
#line 8878 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 34101 "SecParser.tab.cpp"
break;
case 560: /* WITHIN2_fun: function */
#line 8899 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34107 "SecParser.tab.cpp"
break;
case 561: /* $@39: %empty */
#line 8906 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"const1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 34120 "SecParser.tab.cpp"
break;
case 562: /* WHILEDO_fun: $@39 valueexpr */
#line 8915 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34139 "SecParser.tab.cpp"
break;
case 563: /* WHILEDO_fun: function */
#line 8929 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34145 "SecParser.tab.cpp"
break;
case 564: /* $@40: %empty */
#line 8936 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 34158 "SecParser.tab.cpp"
break;
case 565: /* FUNSEQ1_fun: $@40 valueexpr */
#line 8945 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34177 "SecParser.tab.cpp"
break;
case 566: /* FUNSEQ1_fun: function */
#line 8959 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34183 "SecParser.tab.cpp"
break;
case 567: /* $@41: %empty */
#line 8966 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 34201 "SecParser.tab.cpp"
break;
case 568: /* FUNSEQ2_fun: $@41 valueexpr */
#line 8980 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 34227 "SecParser.tab.cpp"
break;
case 569: /* FUNSEQ2_fun: function */
#line 9001 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34233 "SecParser.tab.cpp"
break;
case 570: /* $@42: %empty */
#line 9008 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
#line 34256 "SecParser.tab.cpp"
break;
case 571: /* FUNSEQ3_fun: $@42 valueexpr */
#line 9027 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
#line 34289 "SecParser.tab.cpp"
break;
case 572: /* FUNSEQ3_fun: function */
#line 9055 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34295 "SecParser.tab.cpp"
break;
case 573: /* $@43: %empty */
#line 9062 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
#line 34323 "SecParser.tab.cpp"
break;
case 574: /* FUNSEQ4_fun: $@43 valueexpr */
#line 9086 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARGEF4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
#line 34363 "SecParser.tab.cpp"
break;
case 575: /* FUNSEQ4_fun: function */
#line 9121 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34369 "SecParser.tab.cpp"
break;
case 576: /* $@44: %empty */
#line 9128 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
#line 34402 "SecParser.tab.cpp"
break;
case 577: /* FUNSEQ5_fun: $@44 valueexpr */
#line 9157 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARGEF4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARGEF5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
#line 34449 "SecParser.tab.cpp"
break;
case 578: /* FUNSEQ5_fun: function */
#line 9199 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34455 "SecParser.tab.cpp"
break;
case 579: /* $@45: %empty */
#line 9206 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
}
#line 34493 "SecParser.tab.cpp"
break;
case 580: /* FUNSEQ6_fun: $@45 valueexpr */
#line 9240 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARGEF4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARGEF5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARGEF6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) ))));
cleanVariables(6);
restoreVariables();
}
#line 34547 "SecParser.tab.cpp"
break;
case 581: /* FUNSEQ6_fun: function */
#line 9289 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34553 "SecParser.tab.cpp"
break;
case 582: /* $@46: %empty */
#line 9296 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 34566 "SecParser.tab.cpp"
break;
case 583: /* DDISTRIBUTE4_fun: $@46 valueexpr */
#line 9305 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34585 "SecParser.tab.cpp"
break;
case 584: /* DDISTRIBUTE4_fun: function */
#line 9319 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34591 "SecParser.tab.cpp"
break;
case 585: /* $@47: %empty */
#line 9326 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 34604 "SecParser.tab.cpp"
break;
case 586: /* FDISTRIBUTE7_fun: $@47 valueexpr */
#line 9335 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34623 "SecParser.tab.cpp"
break;
case 587: /* FDISTRIBUTE7_fun: function */
#line 9349 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34629 "SecParser.tab.cpp"
break;
case 588: /* $@48: %empty */
#line 9356 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"darrayelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 34642 "SecParser.tab.cpp"
break;
case 589: /* DLOOP_fun: $@48 valueexpr */
#line 9365 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 34661 "SecParser.tab.cpp"
break;
case 590: /* DLOOP_fun: function */
#line 9379 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34667 "SecParser.tab.cpp"
break;
case 591: /* $@49: %empty */
#line 9386 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 34685 "SecParser.tab.cpp"
break;
case 592: /* DLOOP2_fun: $@49 valueexpr */
#line 9400 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DARRAYELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DARRAYELEM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 34711 "SecParser.tab.cpp"
break;
case 593: /* DLOOP2_fun: function */
#line 9421 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34717 "SecParser.tab.cpp"
break;
case 594: /* $@50: %empty */
#line 9428 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"dmapelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmapslotno");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 34735 "SecParser.tab.cpp"
break;
case 595: /* DMAP_fun: $@50 valueexpr */
#line 9442 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 34761 "SecParser.tab.cpp"
break;
case 596: /* DMAP_fun: function */
#line 9463 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34767 "SecParser.tab.cpp"
break;
case 597: /* $@51: %empty */
#line 9470 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"dmapelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmapslotno");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 34785 "SecParser.tab.cpp"
break;
case 598: /* PDMAP_fun: $@51 valueexpr */
#line 9484 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 34811 "SecParser.tab.cpp"
break;
case 599: /* PDMAP_fun: function */
#line 9505 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34817 "SecParser.tab.cpp"
break;
case 600: /* $@52: %empty */
#line 9512 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmapslotno");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
#line 34840 "SecParser.tab.cpp"
break;
case 601: /* DMAP2n_fun: $@52 valueexpr */
#line 9531 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
#line 34873 "SecParser.tab.cpp"
break;
case 602: /* DMAP2n_fun: function */
#line 9559 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34879 "SecParser.tab.cpp"
break;
case 603: /* $@53: %empty */
#line 9566 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
#line 34902 "SecParser.tab.cpp"
break;
case 604: /* DMAP2_fun: $@53 valueexpr */
#line 9585 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
#line 34935 "SecParser.tab.cpp"
break;
case 605: /* DMAP2_fun: function */
#line 9613 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 34941 "SecParser.tab.cpp"
break;
case 606: /* $@54: %empty */
#line 9620 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
#line 34969 "SecParser.tab.cpp"
break;
case 607: /* DMAP3_fun: $@54 valueexpr */
#line 9644 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
#line 35009 "SecParser.tab.cpp"
break;
case 608: /* DMAP3_fun: function */
#line 9679 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35015 "SecParser.tab.cpp"
break;
case 609: /* $@55: %empty */
#line 9686 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
#line 35048 "SecParser.tab.cpp"
break;
case 610: /* DMAP4_fun: $@55 valueexpr */
#line 9715 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
#line 35095 "SecParser.tab.cpp"
break;
case 611: /* DMAP4_fun: function */
#line 9757 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35101 "SecParser.tab.cpp"
break;
case 612: /* $@56: %empty */
#line 9764 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5i");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
}
#line 35139 "SecParser.tab.cpp"
break;
case 613: /* DMAP5_fun: $@56 valueexpr */
#line 9798 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) ))));
cleanVariables(6);
restoreVariables();
}
#line 35193 "SecParser.tab.cpp"
break;
case 614: /* DMAP5_fun: function */
#line 9847 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35199 "SecParser.tab.cpp"
break;
case 615: /* $@57: %empty */
#line 9854 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
}
#line 35242 "SecParser.tab.cpp"
break;
case 616: /* DMAP6_fun: $@57 valueexpr */
#line 9893 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(7);
restoreVariables();
}
#line 35303 "SecParser.tab.cpp"
break;
case 617: /* DMAP6_fun: function */
#line 9949 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35309 "SecParser.tab.cpp"
break;
case 618: /* $@58: %empty */
#line 9956 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
}
#line 35357 "SecParser.tab.cpp"
break;
case 619: /* DMAP7_fun: $@58 valueexpr */
#line 10000 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(8);
restoreVariables();
}
#line 35425 "SecParser.tab.cpp"
break;
case 620: /* DMAP7_fun: function */
#line 10063 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35431 "SecParser.tab.cpp"
break;
case 621: /* $@59: %empty */
#line 10070 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem8");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[9], "%s_%d",paramname,paramno);
p = pair<int,string>(9, params[9]);
paramstack.push(p);
}
#line 35484 "SecParser.tab.cpp"
break;
case 622: /* DMAP8_fun: $@59 valueexpr */
#line 10119 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG8"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[9]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(9);
restoreVariables();
}
#line 35559 "SecParser.tab.cpp"
break;
case 623: /* DMAP8_fun: function */
#line 10189 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35565 "SecParser.tab.cpp"
break;
case 624: /* $@60: %empty */
#line 10196 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
#line 35588 "SecParser.tab.cpp"
break;
case 625: /* PDMAP2_fun: $@60 valueexpr */
#line 10215 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
#line 35621 "SecParser.tab.cpp"
break;
case 626: /* PDMAP2_fun: function */
#line 10243 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35627 "SecParser.tab.cpp"
break;
case 627: /* $@61: %empty */
#line 10250 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
#line 35655 "SecParser.tab.cpp"
break;
case 628: /* PDMAP3_fun: $@61 valueexpr */
#line 10274 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
#line 35695 "SecParser.tab.cpp"
break;
case 629: /* PDMAP3_fun: function */
#line 10309 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35701 "SecParser.tab.cpp"
break;
case 630: /* $@62: %empty */
#line 10316 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4i");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
#line 35734 "SecParser.tab.cpp"
break;
case 631: /* PDMAP4_fun: $@62 valueexpr */
#line 10345 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
#line 35781 "SecParser.tab.cpp"
break;
case 632: /* PDMAP4_fun: function */
#line 10387 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35787 "SecParser.tab.cpp"
break;
case 633: /* $@63: %empty */
#line 10394 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5i");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
}
#line 35825 "SecParser.tab.cpp"
break;
case 634: /* PDMAP5_fun: $@63 valueexpr */
#line 10428 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) ))));
cleanVariables(6);
restoreVariables();
}
#line 35879 "SecParser.tab.cpp"
break;
case 635: /* PDMAP5_fun: function */
#line 10477 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35885 "SecParser.tab.cpp"
break;
case 636: /* $@64: %empty */
#line 10484 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
}
#line 35928 "SecParser.tab.cpp"
break;
case 637: /* PDMAP6_fun: $@64 valueexpr */
#line 10523 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(7);
restoreVariables();
}
#line 35989 "SecParser.tab.cpp"
break;
case 638: /* PDMAP6_fun: function */
#line 10579 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 35995 "SecParser.tab.cpp"
break;
case 639: /* $@65: %empty */
#line 10586 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
}
#line 36043 "SecParser.tab.cpp"
break;
case 640: /* PDMAP7_fun: $@65 valueexpr */
#line 10630 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG8"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(8);
restoreVariables();
}
#line 36111 "SecParser.tab.cpp"
break;
case 641: /* PDMAP7_fun: function */
#line 10693 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36117 "SecParser.tab.cpp"
break;
case 642: /* $@66: %empty */
#line 10700 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem8");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[9], "%s_%d",paramname,paramno);
p = pair<int,string>(9, params[9]);
paramstack.push(p);
}
#line 36170 "SecParser.tab.cpp"
break;
case 643: /* PDMAP8_fun: $@66 valueexpr */
#line 10749 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG8"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG9"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[9]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(9);
restoreVariables();
}
#line 36245 "SecParser.tab.cpp"
break;
case 644: /* PDMAP8_fun: function */
#line 10819 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36251 "SecParser.tab.cpp"
break;
case 645: /* $@67: %empty */
#line 10826 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36264 "SecParser.tab.cpp"
break;
case 646: /* DFDISTRIBUTE4_fun: $@67 valueexpr */
#line 10835 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36283 "SecParser.tab.cpp"
break;
case 647: /* DFDISTRIBUTE4_fun: function */
#line 10849 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36289 "SecParser.tab.cpp"
break;
case 648: /* $@68: %empty */
#line 10856 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36302 "SecParser.tab.cpp"
break;
case 649: /* PARTITION_fun: $@68 valueexpr */
#line 10865 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" SUBSUBTYPE1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36321 "SecParser.tab.cpp"
break;
case 650: /* PARTITION_fun: function */
#line 10879 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36327 "SecParser.tab.cpp"
break;
case 651: /* $@69: %empty */
#line 10886 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 36345 "SecParser.tab.cpp"
break;
case 652: /* PARTITIONF_fun: $@69 valueexpr */
#line 10900 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" FFR"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" FFR"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 36371 "SecParser.tab.cpp"
break;
case 653: /* PARTITIONF_fun: function */
#line 10921 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36377 "SecParser.tab.cpp"
break;
case 654: /* $@70: %empty */
#line 10928 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36390 "SecParser.tab.cpp"
break;
case 655: /* AREDUCE_fun: $@70 valueexpr */
#line 10937 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36409 "SecParser.tab.cpp"
break;
case 656: /* AREDUCE_fun: function */
#line 10951 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36415 "SecParser.tab.cpp"
break;
case 657: /* $@71: %empty */
#line 10958 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 36433 "SecParser.tab.cpp"
break;
case 658: /* AREDUCE2_fun: $@71 valueexpr */
#line 10972 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 36459 "SecParser.tab.cpp"
break;
case 659: /* AREDUCE2_fun: function */
#line 10993 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36465 "SecParser.tab.cpp"
break;
case 660: /* $@72: %empty */
#line 11000 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 36483 "SecParser.tab.cpp"
break;
case 661: /* AREDUCE2F_fun: $@72 valueexpr */
#line 11014 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 36509 "SecParser.tab.cpp"
break;
case 662: /* AREDUCE2F_fun: function */
#line 11035 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36515 "SecParser.tab.cpp"
break;
case 663: /* $@73: %empty */
#line 11042 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 36533 "SecParser.tab.cpp"
break;
case 664: /* DPRODUCT_fun: $@73 valueexpr */
#line 11056 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DPRODUCTARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DPRODUCTARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 36559 "SecParser.tab.cpp"
break;
case 665: /* DPRODUCT_fun: function */
#line 11077 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36565 "SecParser.tab.cpp"
break;
case 666: /* $@74: %empty */
#line 11084 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36578 "SecParser.tab.cpp"
break;
case 667: /* DDISTRIBUTE_fun: $@74 valueexpr */
#line 11093 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36597 "SecParser.tab.cpp"
break;
case 668: /* DDISTRIBUTE_fun: function */
#line 11107 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36603 "SecParser.tab.cpp"
break;
case 669: /* $@75: %empty */
#line 11114 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36616 "SecParser.tab.cpp"
break;
case 670: /* DFDISTRIBUTE_fun: $@75 valueexpr */
#line 11123 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36635 "SecParser.tab.cpp"
break;
case 671: /* DFDISTRIBUTE_fun: function */
#line 11137 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36641 "SecParser.tab.cpp"
break;
case 672: /* $@76: %empty */
#line 11144 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36654 "SecParser.tab.cpp"
break;
case 673: /* PARTITION8LOCAL_fun: $@76 valueexpr */
#line 11153 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36673 "SecParser.tab.cpp"
break;
case 674: /* PARTITION8LOCAL_fun: function */
#line 11167 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36679 "SecParser.tab.cpp"
break;
case 675: /* $@77: %empty */
#line 11174 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36692 "SecParser.tab.cpp"
break;
case 676: /* PARTITIONF8_fun: $@77 valueexpr */
#line 11183 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" P8TM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36711 "SecParser.tab.cpp"
break;
case 677: /* PARTITIONF8_fun: function */
#line 11197 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36717 "SecParser.tab.cpp"
break;
case 678: /* $@78: %empty */
#line 11204 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36730 "SecParser.tab.cpp"
break;
case 679: /* LOOPJOINREL_fun: $@78 valueexpr */
#line 11213 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36749 "SecParser.tab.cpp"
break;
case 680: /* LOOPJOINREL_fun: function */
#line 11227 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36755 "SecParser.tab.cpp"
break;
case 681: /* $@79: %empty */
#line 11234 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36768 "SecParser.tab.cpp"
break;
case 682: /* CONSTGRAPH_fun: $@79 valueexpr */
#line 11243 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36787 "SecParser.tab.cpp"
break;
case 683: /* CONSTGRAPH_fun: function */
#line 11257 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36793 "SecParser.tab.cpp"
break;
case 684: /* $@80: %empty */
#line 11264 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36806 "SecParser.tab.cpp"
break;
case 685: /* CONSTGRAPHPOINTS_fun: $@80 valueexpr */
#line 11273 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36825 "SecParser.tab.cpp"
break;
case 686: /* CONSTGRAPHPOINTS_fun: function */
#line 11287 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36831 "SecParser.tab.cpp"
break;
case 687: /* $@81: %empty */
#line 11294 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36844 "SecParser.tab.cpp"
break;
case 688: /* EXISTS_fun: $@81 valueexpr */
#line 11303 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36863 "SecParser.tab.cpp"
break;
case 689: /* EXISTS_fun: function */
#line 11317 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36869 "SecParser.tab.cpp"
break;
case 690: /* $@82: %empty */
#line 11324 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 36882 "SecParser.tab.cpp"
break;
case 691: /* FORALL_fun: $@82 valueexpr */
#line 11333 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 36901 "SecParser.tab.cpp"
break;
case 692: /* FORALL_fun: function */
#line 11347 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36907 "SecParser.tab.cpp"
break;
case 693: /* $@83: %empty */
#line 11354 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"stream1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"stream2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 36925 "SecParser.tab.cpp"
break;
case 694: /* PARAJOIN_fun: $@83 valueexpr */
#line 11368 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPSTREAM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPSTREAM3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 36951 "SecParser.tab.cpp"
break;
case 695: /* PARAJOIN_fun: function */
#line 11389 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 36957 "SecParser.tab.cpp"
break;
case 696: /* $@84: %empty */
#line 11396 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"stream1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"stream2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 36975 "SecParser.tab.cpp"
break;
case 697: /* HADOOPJOIN_fun: $@84 valueexpr */
#line 11410 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 37001 "SecParser.tab.cpp"
break;
case 698: /* HADOOPJOIN_fun: function */
#line 11431 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37007 "SecParser.tab.cpp"
break;
case 699: /* MUPDATE_fun: naming MUPDATE_fun_1 */
#line 11439 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37017 "SecParser.tab.cpp"
break;
case 700: /* MUPDATE_fun: naming MUPDATE_fun_1 ZZDEFAULTSEP valueexpr */
#line 11445 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37027 "SecParser.tab.cpp"
break;
case 701: /* MUPDATE_fun: MUPDATE_fun_1 */
#line 11450 "SecParser.y"
{yyval = yyvsp[0];}
#line 37033 "SecParser.tab.cpp"
break;
case 702: /* MUPDATE_fun: MUPDATE_fun_1 ZZDEFAULTSEP valueexpr */
#line 11452 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 37039 "SecParser.tab.cpp"
break;
case 703: /* $@85: %empty */
#line 11459 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37052 "SecParser.tab.cpp"
break;
case 704: /* MUPDATE_fun_1: $@85 valueexpr */
#line 11468 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37071 "SecParser.tab.cpp"
break;
case 705: /* MUPDATE_fun_1: function */
#line 11482 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37077 "SecParser.tab.cpp"
break;
case 706: /* MUPDATE_funlist: MUPDATE_funlist_1 */
#line 11490 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 37086 "SecParser.tab.cpp"
break;
case 707: /* MUPDATE_funlist_1: MUPDATE_fun */
#line 11500 "SecParser.y"
{yyval = yyvsp[0];}
#line 37092 "SecParser.tab.cpp"
break;
case 708: /* MUPDATE_funlist_1: MUPDATE_funlist_1 ',' MUPDATE_fun */
#line 11502 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 37100 "SecParser.tab.cpp"
break;
case 709: /* MUPDATESAVE_fun: naming MUPDATESAVE_fun_1 */
#line 11512 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37110 "SecParser.tab.cpp"
break;
case 710: /* MUPDATESAVE_fun: naming MUPDATESAVE_fun_1 ZZDEFAULTSEP valueexpr */
#line 11518 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37120 "SecParser.tab.cpp"
break;
case 711: /* MUPDATESAVE_fun: MUPDATESAVE_fun_1 */
#line 11523 "SecParser.y"
{yyval = yyvsp[0];}
#line 37126 "SecParser.tab.cpp"
break;
case 712: /* MUPDATESAVE_fun: MUPDATESAVE_fun_1 ZZDEFAULTSEP valueexpr */
#line 11525 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 37132 "SecParser.tab.cpp"
break;
case 713: /* $@86: %empty */
#line 11532 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37145 "SecParser.tab.cpp"
break;
case 714: /* MUPDATESAVE_fun_1: $@86 valueexpr */
#line 11541 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37164 "SecParser.tab.cpp"
break;
case 715: /* MUPDATESAVE_fun_1: function */
#line 11555 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37170 "SecParser.tab.cpp"
break;
case 716: /* MUPDATESAVE_funlist: MUPDATESAVE_funlist_1 */
#line 11563 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 37179 "SecParser.tab.cpp"
break;
case 717: /* MUPDATESAVE_funlist_1: MUPDATESAVE_fun */
#line 11573 "SecParser.y"
{yyval = yyvsp[0];}
#line 37185 "SecParser.tab.cpp"
break;
case 718: /* MUPDATESAVE_funlist_1: MUPDATESAVE_funlist_1 ',' MUPDATESAVE_fun */
#line 11575 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 37193 "SecParser.tab.cpp"
break;
case 719: /* MUPDATEBYID_fun: naming MUPDATEBYID_fun_1 */
#line 11585 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37203 "SecParser.tab.cpp"
break;
case 720: /* MUPDATEBYID_fun: naming MUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr */
#line 11591 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37213 "SecParser.tab.cpp"
break;
case 721: /* MUPDATEBYID_fun: MUPDATEBYID_fun_1 */
#line 11596 "SecParser.y"
{yyval = yyvsp[0];}
#line 37219 "SecParser.tab.cpp"
break;
case 722: /* MUPDATEBYID_fun: MUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr */
#line 11598 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 37225 "SecParser.tab.cpp"
break;
case 723: /* $@87: %empty */
#line 11605 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37238 "SecParser.tab.cpp"
break;
case 724: /* MUPDATEBYID_fun_1: $@87 valueexpr */
#line 11614 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37257 "SecParser.tab.cpp"
break;
case 725: /* MUPDATEBYID_fun_1: function */
#line 11628 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37263 "SecParser.tab.cpp"
break;
case 726: /* MUPDATEBYID_funlist: MUPDATEBYID_funlist_1 */
#line 11636 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 37272 "SecParser.tab.cpp"
break;
case 727: /* MUPDATEBYID_funlist_1: MUPDATEBYID_fun */
#line 11646 "SecParser.y"
{yyval = yyvsp[0];}
#line 37278 "SecParser.tab.cpp"
break;
case 728: /* MUPDATEBYID_funlist_1: MUPDATEBYID_funlist_1 ',' MUPDATEBYID_fun */
#line 11648 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 37286 "SecParser.tab.cpp"
break;
case 729: /* MUPDATEDIRECT2_fun: naming MUPDATEDIRECT2_fun_1 */
#line 11658 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37296 "SecParser.tab.cpp"
break;
case 730: /* MUPDATEDIRECT2_fun: naming MUPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr */
#line 11664 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37306 "SecParser.tab.cpp"
break;
case 731: /* MUPDATEDIRECT2_fun: MUPDATEDIRECT2_fun_1 */
#line 11669 "SecParser.y"
{yyval = yyvsp[0];}
#line 37312 "SecParser.tab.cpp"
break;
case 732: /* MUPDATEDIRECT2_fun: MUPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr */
#line 11671 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 37318 "SecParser.tab.cpp"
break;
case 733: /* $@88: %empty */
#line 11678 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"tuple2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 37336 "SecParser.tab.cpp"
break;
case 734: /* MUPDATEDIRECT2_fun_1: $@88 valueexpr */
#line 11692 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" MTUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 37362 "SecParser.tab.cpp"
break;
case 735: /* MUPDATEDIRECT2_fun_1: function */
#line 11713 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37368 "SecParser.tab.cpp"
break;
case 736: /* MUPDATEDIRECT2_funlist: MUPDATEDIRECT2_funlist_1 */
#line 11721 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 37377 "SecParser.tab.cpp"
break;
case 737: /* MUPDATEDIRECT2_funlist_1: MUPDATEDIRECT2_fun */
#line 11731 "SecParser.y"
{yyval = yyvsp[0];}
#line 37383 "SecParser.tab.cpp"
break;
case 738: /* MUPDATEDIRECT2_funlist_1: MUPDATEDIRECT2_funlist_1 ',' MUPDATEDIRECT2_fun */
#line 11733 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 37391 "SecParser.tab.cpp"
break;
case 739: /* $@89: %empty */
#line 11742 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37404 "SecParser.tab.cpp"
break;
case 740: /* MOSHORTESTPATHD_fun: $@89 valueexpr */
#line 11751 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37423 "SecParser.tab.cpp"
break;
case 741: /* MOSHORTESTPATHD_fun: function */
#line 11765 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37429 "SecParser.tab.cpp"
break;
case 742: /* $@90: %empty */
#line 11772 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37442 "SecParser.tab.cpp"
break;
case 743: /* MOSHORTESTPATHA_fun: $@90 valueexpr */
#line 11781 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37461 "SecParser.tab.cpp"
break;
case 744: /* MOSHORTESTPATHA_fun: function */
#line 11795 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37467 "SecParser.tab.cpp"
break;
case 745: /* $@91: %empty */
#line 11802 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37480 "SecParser.tab.cpp"
break;
case 746: /* MGSHORTESTPATHD_fun: $@91 valueexpr */
#line 11811 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37499 "SecParser.tab.cpp"
break;
case 747: /* MGSHORTESTPATHD_fun: function */
#line 11825 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37505 "SecParser.tab.cpp"
break;
case 748: /* $@92: %empty */
#line 11832 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37518 "SecParser.tab.cpp"
break;
case 749: /* MGSHORTESTPATHA_fun: $@92 valueexpr */
#line 11841 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37537 "SecParser.tab.cpp"
break;
case 750: /* MGSHORTESTPATHA_fun: function */
#line 11855 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37543 "SecParser.tab.cpp"
break;
case 751: /* $@93: %empty */
#line 11862 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37556 "SecParser.tab.cpp"
break;
case 752: /* MPQREORDER_fun: $@93 valueexpr */
#line 11871 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37575 "SecParser.tab.cpp"
break;
case 753: /* MPQREORDER_fun: function */
#line 11885 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37581 "SecParser.tab.cpp"
break;
case 754: /* $@94: %empty */
#line 11892 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37594 "SecParser.tab.cpp"
break;
case 755: /* MPQREORDERUPDATE_fun: $@94 valueexpr */
#line 11901 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37613 "SecParser.tab.cpp"
break;
case 756: /* MPQREORDERUPDATE_fun: function */
#line 11915 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37619 "SecParser.tab.cpp"
break;
case 757: /* $@95: %empty */
#line 11922 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37632 "SecParser.tab.cpp"
break;
case 758: /* CREATEMGRAPH2_fun: $@95 valueexpr */
#line 11931 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37651 "SecParser.tab.cpp"
break;
case 759: /* CREATEMGRAPH2_fun: function */
#line 11945 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37657 "SecParser.tab.cpp"
break;
case 760: /* $@96: %empty */
#line 11952 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37670 "SecParser.tab.cpp"
break;
case 761: /* CREATEMGRAPH2FLOB_fun: $@96 valueexpr */
#line 11961 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37689 "SecParser.tab.cpp"
break;
case 762: /* CREATEMGRAPH2FLOB_fun: function */
#line 11975 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37695 "SecParser.tab.cpp"
break;
case 763: /* $@97: %empty */
#line 11982 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37708 "SecParser.tab.cpp"
break;
case 764: /* MG2INSERTORIG_fun: $@97 valueexpr */
#line 11991 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37727 "SecParser.tab.cpp"
break;
case 765: /* MG2INSERTORIG_fun: function */
#line 12005 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37733 "SecParser.tab.cpp"
break;
case 766: /* MEMGROUPBY_fun: naming MEMGROUPBY_fun_1 */
#line 12013 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37743 "SecParser.tab.cpp"
break;
case 767: /* MEMGROUPBY_fun: naming MEMGROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 12019 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37753 "SecParser.tab.cpp"
break;
case 768: /* MEMGROUPBY_fun: MEMGROUPBY_fun_1 */
#line 12024 "SecParser.y"
{yyval = yyvsp[0];}
#line 37759 "SecParser.tab.cpp"
break;
case 769: /* MEMGROUPBY_fun: MEMGROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 12026 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 37765 "SecParser.tab.cpp"
break;
case 770: /* $@98: %empty */
#line 12033 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"mgroup");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37778 "SecParser.tab.cpp"
break;
case 771: /* MEMGROUPBY_fun_1: $@98 valueexpr */
#line 12042 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MGROUP"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37797 "SecParser.tab.cpp"
break;
case 772: /* MEMGROUPBY_fun_1: function */
#line 12056 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37803 "SecParser.tab.cpp"
break;
case 773: /* MEMGROUPBY_funlist: MEMGROUPBY_funlist_1 */
#line 12064 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 37812 "SecParser.tab.cpp"
break;
case 774: /* MEMGROUPBY_funlist_1: MEMGROUPBY_fun */
#line 12074 "SecParser.y"
{yyval = yyvsp[0];}
#line 37818 "SecParser.tab.cpp"
break;
case 775: /* MEMGROUPBY_funlist_1: MEMGROUPBY_funlist_1 ',' MEMGROUPBY_fun */
#line 12076 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 37826 "SecParser.tab.cpp"
break;
case 776: /* $@99: %empty */
#line 12085 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 37839 "SecParser.tab.cpp"
break;
case 777: /* PUSE_fun: $@99 valueexpr */
#line 12094 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PSTREAM1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 37858 "SecParser.tab.cpp"
break;
case 778: /* PUSE_fun: function */
#line 12108 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37864 "SecParser.tab.cpp"
break;
case 779: /* PJOIN2_fun: naming PJOIN2_fun_1 */
#line 12116 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37874 "SecParser.tab.cpp"
break;
case 780: /* PJOIN2_fun: naming PJOIN2_fun_1 ZZDEFAULTSEP valueexpr */
#line 12122 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37884 "SecParser.tab.cpp"
break;
case 781: /* PJOIN2_fun: PJOIN2_fun_1 */
#line 12127 "SecParser.y"
{yyval = yyvsp[0];}
#line 37890 "SecParser.tab.cpp"
break;
case 782: /* PJOIN2_fun: PJOIN2_fun_1 ZZDEFAULTSEP valueexpr */
#line 12129 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 37896 "SecParser.tab.cpp"
break;
case 783: /* $@100: %empty */
#line 12136 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"left");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"right");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 37914 "SecParser.tab.cpp"
break;
case 784: /* PJOIN2_fun_1: $@100 valueexpr */
#line 12150 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PSTREAM1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" PSTREAM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 37940 "SecParser.tab.cpp"
break;
case 785: /* PJOIN2_fun_1: function */
#line 12171 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 37946 "SecParser.tab.cpp"
break;
case 786: /* PJOIN2_funlist: PJOIN2_funlist_1 */
#line 12179 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 37955 "SecParser.tab.cpp"
break;
case 787: /* PJOIN2_funlist_1: PJOIN2_fun */
#line 12189 "SecParser.y"
{yyval = yyvsp[0];}
#line 37961 "SecParser.tab.cpp"
break;
case 788: /* PJOIN2_funlist_1: PJOIN2_funlist_1 ',' PJOIN2_fun */
#line 12191 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 37969 "SecParser.tab.cpp"
break;
case 789: /* PJOIN1_fun: naming PJOIN1_fun_1 */
#line 12201 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 37979 "SecParser.tab.cpp"
break;
case 790: /* PJOIN1_fun: naming PJOIN1_fun_1 ZZDEFAULTSEP valueexpr */
#line 12207 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 37989 "SecParser.tab.cpp"
break;
case 791: /* PJOIN1_fun: PJOIN1_fun_1 */
#line 12212 "SecParser.y"
{yyval = yyvsp[0];}
#line 37995 "SecParser.tab.cpp"
break;
case 792: /* PJOIN1_fun: PJOIN1_fun_1 ZZDEFAULTSEP valueexpr */
#line 12214 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38001 "SecParser.tab.cpp"
break;
case 793: /* $@101: %empty */
#line 12221 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"left");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"right");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38019 "SecParser.tab.cpp"
break;
case 794: /* PJOIN1_fun_1: $@101 valueexpr */
#line 12235 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PSTREAM1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38045 "SecParser.tab.cpp"
break;
case 795: /* PJOIN1_fun_1: function */
#line 12256 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38051 "SecParser.tab.cpp"
break;
case 796: /* PJOIN1_funlist: PJOIN1_funlist_1 */
#line 12264 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38060 "SecParser.tab.cpp"
break;
case 797: /* PJOIN1_funlist_1: PJOIN1_fun */
#line 12274 "SecParser.y"
{yyval = yyvsp[0];}
#line 38066 "SecParser.tab.cpp"
break;
case 798: /* PJOIN1_funlist_1: PJOIN1_funlist_1 ',' PJOIN1_fun */
#line 12276 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38074 "SecParser.tab.cpp"
break;
case 799: /* $@102: %empty */
#line 12285 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 38087 "SecParser.tab.cpp"
break;
case 800: /* SORTARRAY_fun: $@102 valueexpr */
#line 12294 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 38106 "SecParser.tab.cpp"
break;
case 801: /* SORTARRAY_fun: function */
#line 12308 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38112 "SecParser.tab.cpp"
break;
case 802: /* $@103: %empty */
#line 12315 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38130 "SecParser.tab.cpp"
break;
case 803: /* TIE_fun: $@103 valueexpr */
#line 12329 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38156 "SecParser.tab.cpp"
break;
case 804: /* TIE_fun: function */
#line 12350 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38162 "SecParser.tab.cpp"
break;
case 805: /* $@104: %empty */
#line 12357 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38180 "SecParser.tab.cpp"
break;
case 806: /* CUMULATE_fun: $@104 valueexpr */
#line 12371 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38206 "SecParser.tab.cpp"
break;
case 807: /* CUMULATE_fun: function */
#line 12392 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38212 "SecParser.tab.cpp"
break;
case 808: /* $@105: %empty */
#line 12399 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 38225 "SecParser.tab.cpp"
break;
case 809: /* LOOP_fun: $@105 valueexpr */
#line 12408 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 38244 "SecParser.tab.cpp"
break;
case 810: /* LOOP_fun: function */
#line 12422 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38250 "SecParser.tab.cpp"
break;
case 811: /* $@106: %empty */
#line 12429 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38268 "SecParser.tab.cpp"
break;
case 812: /* LOOPA_fun: $@106 valueexpr */
#line 12443 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38294 "SecParser.tab.cpp"
break;
case 813: /* LOOPA_fun: function */
#line 12464 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38300 "SecParser.tab.cpp"
break;
case 814: /* $@107: %empty */
#line 12471 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38318 "SecParser.tab.cpp"
break;
case 815: /* LOOPB_fun: $@107 valueexpr */
#line 12485 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38344 "SecParser.tab.cpp"
break;
case 816: /* LOOPB_fun: function */
#line 12506 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38350 "SecParser.tab.cpp"
break;
case 817: /* LOOPSWITCH_fun: naming LOOPSWITCH_fun_1 */
#line 12514 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 38360 "SecParser.tab.cpp"
break;
case 818: /* LOOPSWITCH_fun: naming LOOPSWITCH_fun_1 ZZDEFAULTSEP valueexpr */
#line 12520 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 38370 "SecParser.tab.cpp"
break;
case 819: /* LOOPSWITCH_fun: LOOPSWITCH_fun_1 */
#line 12525 "SecParser.y"
{yyval = yyvsp[0];}
#line 38376 "SecParser.tab.cpp"
break;
case 820: /* LOOPSWITCH_fun: LOOPSWITCH_fun_1 ZZDEFAULTSEP valueexpr */
#line 12527 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38382 "SecParser.tab.cpp"
break;
case 821: /* $@108: %empty */
#line 12534 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 38395 "SecParser.tab.cpp"
break;
case 822: /* LOOPSWITCH_fun_1: $@108 valueexpr */
#line 12543 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 38414 "SecParser.tab.cpp"
break;
case 823: /* LOOPSWITCH_fun_1: function */
#line 12557 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38420 "SecParser.tab.cpp"
break;
case 824: /* LOOPSWITCH_funlist: LOOPSWITCH_funlist_1 */
#line 12565 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38429 "SecParser.tab.cpp"
break;
case 825: /* LOOPSWITCH_funlist_1: LOOPSWITCH_fun */
#line 12575 "SecParser.y"
{yyval = yyvsp[0];}
#line 38435 "SecParser.tab.cpp"
break;
case 826: /* LOOPSWITCH_funlist_1: LOOPSWITCH_funlist_1 ',' LOOPSWITCH_fun */
#line 12577 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38443 "SecParser.tab.cpp"
break;
case 827: /* LOOPSWITCHA_fun: naming LOOPSWITCHA_fun_1 */
#line 12587 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 38453 "SecParser.tab.cpp"
break;
case 828: /* LOOPSWITCHA_fun: naming LOOPSWITCHA_fun_1 ZZDEFAULTSEP valueexpr */
#line 12593 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 38463 "SecParser.tab.cpp"
break;
case 829: /* LOOPSWITCHA_fun: LOOPSWITCHA_fun_1 */
#line 12598 "SecParser.y"
{yyval = yyvsp[0];}
#line 38469 "SecParser.tab.cpp"
break;
case 830: /* LOOPSWITCHA_fun: LOOPSWITCHA_fun_1 ZZDEFAULTSEP valueexpr */
#line 12600 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38475 "SecParser.tab.cpp"
break;
case 831: /* $@109: %empty */
#line 12607 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38493 "SecParser.tab.cpp"
break;
case 832: /* LOOPSWITCHA_fun_1: $@109 valueexpr */
#line 12621 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38519 "SecParser.tab.cpp"
break;
case 833: /* LOOPSWITCHA_fun_1: function */
#line 12642 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38525 "SecParser.tab.cpp"
break;
case 834: /* LOOPSWITCHA_funlist: LOOPSWITCHA_funlist_1 */
#line 12650 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38534 "SecParser.tab.cpp"
break;
case 835: /* LOOPSWITCHA_funlist_1: LOOPSWITCHA_fun */
#line 12660 "SecParser.y"
{yyval = yyvsp[0];}
#line 38540 "SecParser.tab.cpp"
break;
case 836: /* LOOPSWITCHA_funlist_1: LOOPSWITCHA_funlist_1 ',' LOOPSWITCHA_fun */
#line 12662 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38548 "SecParser.tab.cpp"
break;
case 837: /* LOOPSWITCHB_fun: naming LOOPSWITCHB_fun_1 */
#line 12672 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 38558 "SecParser.tab.cpp"
break;
case 838: /* LOOPSWITCHB_fun: naming LOOPSWITCHB_fun_1 ZZDEFAULTSEP valueexpr */
#line 12678 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 38568 "SecParser.tab.cpp"
break;
case 839: /* LOOPSWITCHB_fun: LOOPSWITCHB_fun_1 */
#line 12683 "SecParser.y"
{yyval = yyvsp[0];}
#line 38574 "SecParser.tab.cpp"
break;
case 840: /* LOOPSWITCHB_fun: LOOPSWITCHB_fun_1 ZZDEFAULTSEP valueexpr */
#line 12685 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38580 "SecParser.tab.cpp"
break;
case 841: /* $@110: %empty */
#line 12692 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38598 "SecParser.tab.cpp"
break;
case 842: /* LOOPSWITCHB_fun_1: $@110 valueexpr */
#line 12706 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38624 "SecParser.tab.cpp"
break;
case 843: /* LOOPSWITCHB_fun_1: function */
#line 12727 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38630 "SecParser.tab.cpp"
break;
case 844: /* LOOPSWITCHB_funlist: LOOPSWITCHB_funlist_1 */
#line 12735 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38639 "SecParser.tab.cpp"
break;
case 845: /* LOOPSWITCHB_funlist_1: LOOPSWITCHB_fun */
#line 12745 "SecParser.y"
{yyval = yyvsp[0];}
#line 38645 "SecParser.tab.cpp"
break;
case 846: /* LOOPSWITCHB_funlist_1: LOOPSWITCHB_funlist_1 ',' LOOPSWITCHB_fun */
#line 12747 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38653 "SecParser.tab.cpp"
break;
case 847: /* LOOPSELECT_fun: naming LOOPSELECT_fun_1 */
#line 12757 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 38663 "SecParser.tab.cpp"
break;
case 848: /* LOOPSELECT_fun: naming LOOPSELECT_fun_1 ZZDEFAULTSEP valueexpr */
#line 12763 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 38673 "SecParser.tab.cpp"
break;
case 849: /* LOOPSELECT_fun: LOOPSELECT_fun_1 */
#line 12768 "SecParser.y"
{yyval = yyvsp[0];}
#line 38679 "SecParser.tab.cpp"
break;
case 850: /* LOOPSELECT_fun: LOOPSELECT_fun_1 ZZDEFAULTSEP valueexpr */
#line 12770 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38685 "SecParser.tab.cpp"
break;
case 851: /* $@111: %empty */
#line 12777 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 38698 "SecParser.tab.cpp"
break;
case 852: /* LOOPSELECT_fun_1: $@111 valueexpr */
#line 12786 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 38717 "SecParser.tab.cpp"
break;
case 853: /* LOOPSELECT_fun_1: function */
#line 12800 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38723 "SecParser.tab.cpp"
break;
case 854: /* LOOPSELECT_funlist: LOOPSELECT_funlist_1 */
#line 12808 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38732 "SecParser.tab.cpp"
break;
case 855: /* LOOPSELECT_funlist_1: LOOPSELECT_fun */
#line 12818 "SecParser.y"
{yyval = yyvsp[0];}
#line 38738 "SecParser.tab.cpp"
break;
case 856: /* LOOPSELECT_funlist_1: LOOPSELECT_funlist_1 ',' LOOPSELECT_fun */
#line 12820 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38746 "SecParser.tab.cpp"
break;
case 857: /* LOOPSELECTA_fun: naming LOOPSELECTA_fun_1 */
#line 12830 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 38756 "SecParser.tab.cpp"
break;
case 858: /* LOOPSELECTA_fun: naming LOOPSELECTA_fun_1 ZZDEFAULTSEP valueexpr */
#line 12836 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 38766 "SecParser.tab.cpp"
break;
case 859: /* LOOPSELECTA_fun: LOOPSELECTA_fun_1 */
#line 12841 "SecParser.y"
{yyval = yyvsp[0];}
#line 38772 "SecParser.tab.cpp"
break;
case 860: /* LOOPSELECTA_fun: LOOPSELECTA_fun_1 ZZDEFAULTSEP valueexpr */
#line 12843 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38778 "SecParser.tab.cpp"
break;
case 861: /* $@112: %empty */
#line 12850 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38796 "SecParser.tab.cpp"
break;
case 862: /* LOOPSELECTA_fun_1: $@112 valueexpr */
#line 12864 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38822 "SecParser.tab.cpp"
break;
case 863: /* LOOPSELECTA_fun_1: function */
#line 12885 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38828 "SecParser.tab.cpp"
break;
case 864: /* LOOPSELECTA_funlist: LOOPSELECTA_funlist_1 */
#line 12893 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38837 "SecParser.tab.cpp"
break;
case 865: /* LOOPSELECTA_funlist_1: LOOPSELECTA_fun */
#line 12903 "SecParser.y"
{yyval = yyvsp[0];}
#line 38843 "SecParser.tab.cpp"
break;
case 866: /* LOOPSELECTA_funlist_1: LOOPSELECTA_funlist_1 ',' LOOPSELECTA_fun */
#line 12905 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38851 "SecParser.tab.cpp"
break;
case 867: /* LOOPSELECTB_fun: naming LOOPSELECTB_fun_1 */
#line 12915 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 38861 "SecParser.tab.cpp"
break;
case 868: /* LOOPSELECTB_fun: naming LOOPSELECTB_fun_1 ZZDEFAULTSEP valueexpr */
#line 12921 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 38871 "SecParser.tab.cpp"
break;
case 869: /* LOOPSELECTB_fun: LOOPSELECTB_fun_1 */
#line 12926 "SecParser.y"
{yyval = yyvsp[0];}
#line 38877 "SecParser.tab.cpp"
break;
case 870: /* LOOPSELECTB_fun: LOOPSELECTB_fun_1 ZZDEFAULTSEP valueexpr */
#line 12928 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 38883 "SecParser.tab.cpp"
break;
case 871: /* $@113: %empty */
#line 12935 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38901 "SecParser.tab.cpp"
break;
case 872: /* LOOPSELECTB_fun_1: $@113 valueexpr */
#line 12949 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 38927 "SecParser.tab.cpp"
break;
case 873: /* LOOPSELECTB_fun_1: function */
#line 12970 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 38933 "SecParser.tab.cpp"
break;
case 874: /* LOOPSELECTB_funlist: LOOPSELECTB_funlist_1 */
#line 12978 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 38942 "SecParser.tab.cpp"
break;
case 875: /* LOOPSELECTB_funlist_1: LOOPSELECTB_fun */
#line 12988 "SecParser.y"
{yyval = yyvsp[0];}
#line 38948 "SecParser.tab.cpp"
break;
case 876: /* LOOPSELECTB_funlist_1: LOOPSELECTB_funlist_1 ',' LOOPSELECTB_fun */
#line 12990 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 38956 "SecParser.tab.cpp"
break;
case 877: /* $@114: %empty */
#line 12999 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 38974 "SecParser.tab.cpp"
break;
case 878: /* PARTJOIN_fun: $@114 valueexpr */
#line 13013 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 39000 "SecParser.tab.cpp"
break;
case 879: /* PARTJOIN_fun: function */
#line 13034 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39006 "SecParser.tab.cpp"
break;
case 880: /* PARTJOINSWITCH_fun: naming PARTJOINSWITCH_fun_1 */
#line 13042 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39016 "SecParser.tab.cpp"
break;
case 881: /* PARTJOINSWITCH_fun: naming PARTJOINSWITCH_fun_1 ZZDEFAULTSEP valueexpr */
#line 13048 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39026 "SecParser.tab.cpp"
break;
case 882: /* PARTJOINSWITCH_fun: PARTJOINSWITCH_fun_1 */
#line 13053 "SecParser.y"
{yyval = yyvsp[0];}
#line 39032 "SecParser.tab.cpp"
break;
case 883: /* PARTJOINSWITCH_fun: PARTJOINSWITCH_fun_1 ZZDEFAULTSEP valueexpr */
#line 13055 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39038 "SecParser.tab.cpp"
break;
case 884: /* $@115: %empty */
#line 13062 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 39056 "SecParser.tab.cpp"
break;
case 885: /* PARTJOINSWITCH_fun_1: $@115 valueexpr */
#line 13076 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 39082 "SecParser.tab.cpp"
break;
case 886: /* PARTJOINSWITCH_fun_1: function */
#line 13097 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39088 "SecParser.tab.cpp"
break;
case 887: /* PARTJOINSWITCH_funlist: PARTJOINSWITCH_funlist_1 */
#line 13105 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39097 "SecParser.tab.cpp"
break;
case 888: /* PARTJOINSWITCH_funlist_1: PARTJOINSWITCH_fun */
#line 13115 "SecParser.y"
{yyval = yyvsp[0];}
#line 39103 "SecParser.tab.cpp"
break;
case 889: /* PARTJOINSWITCH_funlist_1: PARTJOINSWITCH_funlist_1 ',' PARTJOINSWITCH_fun */
#line 13117 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39111 "SecParser.tab.cpp"
break;
case 890: /* PARTJOINSELECT_fun: naming PARTJOINSELECT_fun_1 */
#line 13127 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39121 "SecParser.tab.cpp"
break;
case 891: /* PARTJOINSELECT_fun: naming PARTJOINSELECT_fun_1 ZZDEFAULTSEP valueexpr */
#line 13133 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39131 "SecParser.tab.cpp"
break;
case 892: /* PARTJOINSELECT_fun: PARTJOINSELECT_fun_1 */
#line 13138 "SecParser.y"
{yyval = yyvsp[0];}
#line 39137 "SecParser.tab.cpp"
break;
case 893: /* PARTJOINSELECT_fun: PARTJOINSELECT_fun_1 ZZDEFAULTSEP valueexpr */
#line 13140 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39143 "SecParser.tab.cpp"
break;
case 894: /* $@116: %empty */
#line 13147 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 39161 "SecParser.tab.cpp"
break;
case 895: /* PARTJOINSELECT_fun_1: $@116 valueexpr */
#line 13161 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 39187 "SecParser.tab.cpp"
break;
case 896: /* PARTJOINSELECT_fun_1: function */
#line 13182 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39193 "SecParser.tab.cpp"
break;
case 897: /* PARTJOINSELECT_funlist: PARTJOINSELECT_funlist_1 */
#line 13190 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39202 "SecParser.tab.cpp"
break;
case 898: /* PARTJOINSELECT_funlist_1: PARTJOINSELECT_fun */
#line 13200 "SecParser.y"
{yyval = yyvsp[0];}
#line 39208 "SecParser.tab.cpp"
break;
case 899: /* PARTJOINSELECT_funlist_1: PARTJOINSELECT_funlist_1 ',' PARTJOINSELECT_fun */
#line 13202 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39216 "SecParser.tab.cpp"
break;
case 900: /* EXTEND_fun: naming EXTEND_fun_1 */
#line 13212 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39226 "SecParser.tab.cpp"
break;
case 901: /* EXTEND_fun: naming EXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 13218 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39236 "SecParser.tab.cpp"
break;
case 902: /* EXTEND_fun: EXTEND_fun_1 */
#line 13223 "SecParser.y"
{yyval = yyvsp[0];}
#line 39242 "SecParser.tab.cpp"
break;
case 903: /* EXTEND_fun: EXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 13225 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39248 "SecParser.tab.cpp"
break;
case 904: /* $@117: %empty */
#line 13232 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39261 "SecParser.tab.cpp"
break;
case 905: /* EXTEND_fun_1: $@117 valueexpr */
#line 13241 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39280 "SecParser.tab.cpp"
break;
case 906: /* EXTEND_fun_1: function */
#line 13255 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39286 "SecParser.tab.cpp"
break;
case 907: /* EXTEND_funlist: EXTEND_funlist_1 */
#line 13263 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39295 "SecParser.tab.cpp"
break;
case 908: /* EXTEND_funlist_1: EXTEND_fun */
#line 13273 "SecParser.y"
{yyval = yyvsp[0];}
#line 39301 "SecParser.tab.cpp"
break;
case 909: /* EXTEND_funlist_1: EXTEND_funlist_1 ',' EXTEND_fun */
#line 13275 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39309 "SecParser.tab.cpp"
break;
case 910: /* $@118: %empty */
#line 13284 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"stream1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"stream2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 39327 "SecParser.tab.cpp"
break;
case 911: /* PARAJOIN2_fun: $@118 valueexpr */
#line 13298 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 39353 "SecParser.tab.cpp"
break;
case 912: /* PARAJOIN2_fun: function */
#line 13319 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39359 "SecParser.tab.cpp"
break;
case 913: /* $@119: %empty */
#line 13326 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39372 "SecParser.tab.cpp"
break;
case 914: /* DRELFILTER_fun: $@119 valueexpr */
#line 13335 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39391 "SecParser.tab.cpp"
break;
case 915: /* DRELFILTER_fun: function */
#line 13349 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39397 "SecParser.tab.cpp"
break;
case 916: /* DRELEXTEND_fun: naming DRELEXTEND_fun_1 */
#line 13357 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39407 "SecParser.tab.cpp"
break;
case 917: /* DRELEXTEND_fun: naming DRELEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 13363 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39417 "SecParser.tab.cpp"
break;
case 918: /* DRELEXTEND_fun: DRELEXTEND_fun_1 */
#line 13368 "SecParser.y"
{yyval = yyvsp[0];}
#line 39423 "SecParser.tab.cpp"
break;
case 919: /* DRELEXTEND_fun: DRELEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 13370 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39429 "SecParser.tab.cpp"
break;
case 920: /* $@120: %empty */
#line 13377 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39442 "SecParser.tab.cpp"
break;
case 921: /* DRELEXTEND_fun_1: $@120 valueexpr */
#line 13386 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39461 "SecParser.tab.cpp"
break;
case 922: /* DRELEXTEND_fun_1: function */
#line 13400 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39467 "SecParser.tab.cpp"
break;
case 923: /* DRELEXTEND_funlist: DRELEXTEND_funlist_1 */
#line 13408 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39476 "SecParser.tab.cpp"
break;
case 924: /* DRELEXTEND_funlist_1: DRELEXTEND_fun */
#line 13418 "SecParser.y"
{yyval = yyvsp[0];}
#line 39482 "SecParser.tab.cpp"
break;
case 925: /* DRELEXTEND_funlist_1: DRELEXTEND_funlist_1 ',' DRELEXTEND_fun */
#line 13420 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39490 "SecParser.tab.cpp"
break;
case 926: /* DRELPROJECTEXTEND_fun: naming DRELPROJECTEXTEND_fun_1 */
#line 13430 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39500 "SecParser.tab.cpp"
break;
case 927: /* DRELPROJECTEXTEND_fun: naming DRELPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 13436 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39510 "SecParser.tab.cpp"
break;
case 928: /* DRELPROJECTEXTEND_fun: DRELPROJECTEXTEND_fun_1 */
#line 13441 "SecParser.y"
{yyval = yyvsp[0];}
#line 39516 "SecParser.tab.cpp"
break;
case 929: /* DRELPROJECTEXTEND_fun: DRELPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 13443 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39522 "SecParser.tab.cpp"
break;
case 930: /* $@121: %empty */
#line 13450 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39535 "SecParser.tab.cpp"
break;
case 931: /* DRELPROJECTEXTEND_fun_1: $@121 valueexpr */
#line 13459 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39554 "SecParser.tab.cpp"
break;
case 932: /* DRELPROJECTEXTEND_fun_1: function */
#line 13473 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39560 "SecParser.tab.cpp"
break;
case 933: /* DRELPROJECTEXTEND_funlist: DRELPROJECTEXTEND_funlist_1 */
#line 13481 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39569 "SecParser.tab.cpp"
break;
case 934: /* DRELPROJECTEXTEND_funlist_1: DRELPROJECTEXTEND_fun */
#line 13491 "SecParser.y"
{yyval = yyvsp[0];}
#line 39575 "SecParser.tab.cpp"
break;
case 935: /* DRELPROJECTEXTEND_funlist_1: DRELPROJECTEXTEND_funlist_1 ',' DRELPROJECTEXTEND_fun */
#line 13493 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39583 "SecParser.tab.cpp"
break;
case 936: /* DRELLGROUPBY_fun: naming DRELLGROUPBY_fun_1 */
#line 13503 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39593 "SecParser.tab.cpp"
break;
case 937: /* DRELLGROUPBY_fun: naming DRELLGROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 13509 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39603 "SecParser.tab.cpp"
break;
case 938: /* DRELLGROUPBY_fun: DRELLGROUPBY_fun_1 */
#line 13514 "SecParser.y"
{yyval = yyvsp[0];}
#line 39609 "SecParser.tab.cpp"
break;
case 939: /* DRELLGROUPBY_fun: DRELLGROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 13516 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39615 "SecParser.tab.cpp"
break;
case 940: /* $@122: %empty */
#line 13523 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39628 "SecParser.tab.cpp"
break;
case 941: /* DRELLGROUPBY_fun_1: $@122 valueexpr */
#line 13532 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39647 "SecParser.tab.cpp"
break;
case 942: /* DRELLGROUPBY_fun_1: function */
#line 13546 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39653 "SecParser.tab.cpp"
break;
case 943: /* DRELLGROUPBY_funlist: DRELLGROUPBY_funlist_1 */
#line 13554 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39662 "SecParser.tab.cpp"
break;
case 944: /* DRELLGROUPBY_funlist_1: DRELLGROUPBY_fun */
#line 13564 "SecParser.y"
{yyval = yyvsp[0];}
#line 39668 "SecParser.tab.cpp"
break;
case 945: /* DRELLGROUPBY_funlist_1: DRELLGROUPBY_funlist_1 ',' DRELLGROUPBY_fun */
#line 13566 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39676 "SecParser.tab.cpp"
break;
case 946: /* DRELGROUPBY_fun: naming DRELGROUPBY_fun_1 */
#line 13576 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39686 "SecParser.tab.cpp"
break;
case 947: /* DRELGROUPBY_fun: naming DRELGROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 13582 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39696 "SecParser.tab.cpp"
break;
case 948: /* DRELGROUPBY_fun: DRELGROUPBY_fun_1 */
#line 13587 "SecParser.y"
{yyval = yyvsp[0];}
#line 39702 "SecParser.tab.cpp"
break;
case 949: /* DRELGROUPBY_fun: DRELGROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 13589 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39708 "SecParser.tab.cpp"
break;
case 950: /* $@123: %empty */
#line 13596 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39721 "SecParser.tab.cpp"
break;
case 951: /* DRELGROUPBY_fun_1: $@123 valueexpr */
#line 13605 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39740 "SecParser.tab.cpp"
break;
case 952: /* DRELGROUPBY_fun_1: function */
#line 13619 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39746 "SecParser.tab.cpp"
break;
case 953: /* DRELGROUPBY_funlist: DRELGROUPBY_funlist_1 */
#line 13627 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39755 "SecParser.tab.cpp"
break;
case 954: /* DRELGROUPBY_funlist_1: DRELGROUPBY_fun */
#line 13637 "SecParser.y"
{yyval = yyvsp[0];}
#line 39761 "SecParser.tab.cpp"
break;
case 955: /* DRELGROUPBY_funlist_1: DRELGROUPBY_funlist_1 ',' DRELGROUPBY_fun */
#line 13639 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39769 "SecParser.tab.cpp"
break;
case 956: /* DRELUPDATE_fun: naming DRELUPDATE_fun_1 */
#line 13649 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39779 "SecParser.tab.cpp"
break;
case 957: /* DRELUPDATE_fun: naming DRELUPDATE_fun_1 ZZDEFAULTSEP valueexpr */
#line 13655 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39789 "SecParser.tab.cpp"
break;
case 958: /* DRELUPDATE_fun: DRELUPDATE_fun_1 */
#line 13660 "SecParser.y"
{yyval = yyvsp[0];}
#line 39795 "SecParser.tab.cpp"
break;
case 959: /* DRELUPDATE_fun: DRELUPDATE_fun_1 ZZDEFAULTSEP valueexpr */
#line 13662 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39801 "SecParser.tab.cpp"
break;
case 960: /* $@124: %empty */
#line 13669 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39814 "SecParser.tab.cpp"
break;
case 961: /* DRELUPDATE_fun_1: $@124 valueexpr */
#line 13678 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39833 "SecParser.tab.cpp"
break;
case 962: /* DRELUPDATE_fun_1: function */
#line 13692 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39839 "SecParser.tab.cpp"
break;
case 963: /* DRELUPDATE_funlist: DRELUPDATE_funlist_1 */
#line 13700 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39848 "SecParser.tab.cpp"
break;
case 964: /* DRELUPDATE_funlist_1: DRELUPDATE_fun */
#line 13710 "SecParser.y"
{yyval = yyvsp[0];}
#line 39854 "SecParser.tab.cpp"
break;
case 965: /* DRELUPDATE_funlist_1: DRELUPDATE_funlist_1 ',' DRELUPDATE_fun */
#line 13712 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39862 "SecParser.tab.cpp"
break;
case 966: /* DRELUPDATEBYID_fun: naming DRELUPDATEBYID_fun_1 */
#line 13722 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 39872 "SecParser.tab.cpp"
break;
case 967: /* DRELUPDATEBYID_fun: naming DRELUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr */
#line 13728 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 39882 "SecParser.tab.cpp"
break;
case 968: /* DRELUPDATEBYID_fun: DRELUPDATEBYID_fun_1 */
#line 13733 "SecParser.y"
{yyval = yyvsp[0];}
#line 39888 "SecParser.tab.cpp"
break;
case 969: /* DRELUPDATEBYID_fun: DRELUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr */
#line 13735 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 39894 "SecParser.tab.cpp"
break;
case 970: /* $@125: %empty */
#line 13742 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 39912 "SecParser.tab.cpp"
break;
case 971: /* DRELUPDATEBYID_fun_1: $@125 valueexpr */
#line 13756 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" SUBSUBTYPE1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 39938 "SecParser.tab.cpp"
break;
case 972: /* DRELUPDATEBYID_fun_1: function */
#line 13777 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 39944 "SecParser.tab.cpp"
break;
case 973: /* DRELUPDATEBYID_funlist: DRELUPDATEBYID_funlist_1 */
#line 13785 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 39953 "SecParser.tab.cpp"
break;
case 974: /* DRELUPDATEBYID_funlist_1: DRELUPDATEBYID_fun */
#line 13795 "SecParser.y"
{yyval = yyvsp[0];}
#line 39959 "SecParser.tab.cpp"
break;
case 975: /* DRELUPDATEBYID_funlist_1: DRELUPDATEBYID_funlist_1 ',' DRELUPDATEBYID_fun */
#line 13797 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 39967 "SecParser.tab.cpp"
break;
case 976: /* $@126: %empty */
#line 13806 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 39980 "SecParser.tab.cpp"
break;
case 977: /* DRELFILTERADDID_fun: $@126 valueexpr */
#line 13815 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 39999 "SecParser.tab.cpp"
break;
case 978: /* DRELFILTERADDID_fun: function */
#line 13829 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40005 "SecParser.tab.cpp"
break;
case 979: /* $@127: %empty */
#line 13836 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40018 "SecParser.tab.cpp"
break;
case 980: /* DRELFILTERDELETE_fun: $@127 valueexpr */
#line 13845 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40037 "SecParser.tab.cpp"
break;
case 981: /* DRELFILTERDELETE_fun: function */
#line 13859 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40043 "SecParser.tab.cpp"
break;
case 982: /* DRELFILTERUPDATE_fun: naming DRELFILTERUPDATE_fun_1 */
#line 13867 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 40053 "SecParser.tab.cpp"
break;
case 983: /* DRELFILTERUPDATE_fun: naming DRELFILTERUPDATE_fun_1 ZZDEFAULTSEP valueexpr */
#line 13873 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 40063 "SecParser.tab.cpp"
break;
case 984: /* DRELFILTERUPDATE_fun: DRELFILTERUPDATE_fun_1 */
#line 13878 "SecParser.y"
{yyval = yyvsp[0];}
#line 40069 "SecParser.tab.cpp"
break;
case 985: /* DRELFILTERUPDATE_fun: DRELFILTERUPDATE_fun_1 ZZDEFAULTSEP valueexpr */
#line 13880 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 40075 "SecParser.tab.cpp"
break;
case 986: /* $@128: %empty */
#line 13887 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40088 "SecParser.tab.cpp"
break;
case 987: /* DRELFILTERUPDATE_fun_1: $@128 valueexpr */
#line 13896 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40107 "SecParser.tab.cpp"
break;
case 988: /* DRELFILTERUPDATE_fun_1: function */
#line 13910 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40113 "SecParser.tab.cpp"
break;
case 989: /* DRELFILTERUPDATE_funlist: DRELFILTERUPDATE_funlist_1 */
#line 13918 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 40122 "SecParser.tab.cpp"
break;
case 990: /* DRELFILTERUPDATE_funlist_1: DRELFILTERUPDATE_fun */
#line 13928 "SecParser.y"
{yyval = yyvsp[0];}
#line 40128 "SecParser.tab.cpp"
break;
case 991: /* DRELFILTERUPDATE_funlist_1: DRELFILTERUPDATE_funlist_1 ',' DRELFILTERUPDATE_fun */
#line 13930 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 40136 "SecParser.tab.cpp"
break;
case 992: /* $@129: %empty */
#line 13939 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 40154 "SecParser.tab.cpp"
break;
case 993: /* DBSCANF_fun: $@129 valueexpr */
#line 13953 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 40180 "SecParser.tab.cpp"
break;
case 994: /* DBSCANF_fun: function */
#line 13974 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40186 "SecParser.tab.cpp"
break;
case 995: /* $@130: %empty */
#line 13981 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 40204 "SecParser.tab.cpp"
break;
case 996: /* DBSCANTF_fun: $@130 valueexpr */
#line 13995 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 40230 "SecParser.tab.cpp"
break;
case 997: /* DBSCANTF_fun: function */
#line 14016 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40236 "SecParser.tab.cpp"
break;
case 998: /* $@131: %empty */
#line 14023 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40249 "SecParser.tab.cpp"
break;
case 999: /* PFILTERS_fun: $@131 valueexpr */
#line 14032 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40268 "SecParser.tab.cpp"
break;
case 1000: /* PFILTERS_fun: function */
#line 14046 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40274 "SecParser.tab.cpp"
break;
case 1001: /* PEXTEND_fun: naming PEXTEND_fun_1 */
#line 14054 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 40284 "SecParser.tab.cpp"
break;
case 1002: /* PEXTEND_fun: naming PEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 14060 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 40294 "SecParser.tab.cpp"
break;
case 1003: /* PEXTEND_fun: PEXTEND_fun_1 */
#line 14065 "SecParser.y"
{yyval = yyvsp[0];}
#line 40300 "SecParser.tab.cpp"
break;
case 1004: /* PEXTEND_fun: PEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 14067 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 40306 "SecParser.tab.cpp"
break;
case 1005: /* $@132: %empty */
#line 14074 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40319 "SecParser.tab.cpp"
break;
case 1006: /* PEXTEND_fun_1: $@132 valueexpr */
#line 14083 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40338 "SecParser.tab.cpp"
break;
case 1007: /* PEXTEND_fun_1: function */
#line 14097 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40344 "SecParser.tab.cpp"
break;
case 1008: /* PEXTEND_funlist: PEXTEND_funlist_1 */
#line 14105 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 40353 "SecParser.tab.cpp"
break;
case 1009: /* PEXTEND_funlist_1: PEXTEND_fun */
#line 14115 "SecParser.y"
{yyval = yyvsp[0];}
#line 40359 "SecParser.tab.cpp"
break;
case 1010: /* PEXTEND_funlist_1: PEXTEND_funlist_1 ',' PEXTEND_fun */
#line 14117 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 40367 "SecParser.tab.cpp"
break;
case 1011: /* PEXTENDSTREAM_fun: naming PEXTENDSTREAM_fun_1 */
#line 14127 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 40377 "SecParser.tab.cpp"
break;
case 1012: /* PEXTENDSTREAM_fun: naming PEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 14133 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 40387 "SecParser.tab.cpp"
break;
case 1013: /* PEXTENDSTREAM_fun: PEXTENDSTREAM_fun_1 */
#line 14138 "SecParser.y"
{yyval = yyvsp[0];}
#line 40393 "SecParser.tab.cpp"
break;
case 1014: /* PEXTENDSTREAM_fun: PEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 14140 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 40399 "SecParser.tab.cpp"
break;
case 1015: /* $@133: %empty */
#line 14147 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40412 "SecParser.tab.cpp"
break;
case 1016: /* PEXTENDSTREAM_fun_1: $@133 valueexpr */
#line 14156 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40431 "SecParser.tab.cpp"
break;
case 1017: /* PEXTENDSTREAM_fun_1: function */
#line 14170 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40437 "SecParser.tab.cpp"
break;
case 1018: /* PEXTENDSTREAM_funlist: PEXTENDSTREAM_funlist_1 */
#line 14178 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 40446 "SecParser.tab.cpp"
break;
case 1019: /* PEXTENDSTREAM_funlist_1: PEXTENDSTREAM_fun */
#line 14188 "SecParser.y"
{yyval = yyvsp[0];}
#line 40452 "SecParser.tab.cpp"
break;
case 1020: /* PEXTENDSTREAM_funlist_1: PEXTENDSTREAM_funlist_1 ',' PEXTENDSTREAM_fun */
#line 14190 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 40460 "SecParser.tab.cpp"
break;
case 1021: /* $@134: %empty */
#line 14199 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40473 "SecParser.tab.cpp"
break;
case 1022: /* PLOOPSEL_fun: $@134 valueexpr */
#line 14208 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40492 "SecParser.tab.cpp"
break;
case 1023: /* PLOOPSEL_fun: function */
#line 14222 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40498 "SecParser.tab.cpp"
break;
case 1024: /* $@135: %empty */
#line 14229 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40511 "SecParser.tab.cpp"
break;
case 1025: /* PLOOPJOIN_fun: $@135 valueexpr */
#line 14238 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40530 "SecParser.tab.cpp"
break;
case 1026: /* PLOOPJOIN_fun: function */
#line 14252 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40536 "SecParser.tab.cpp"
break;
case 1027: /* $@136: %empty */
#line 14259 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"arg1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"arg2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 40554 "SecParser.tab.cpp"
break;
case 1028: /* PAGGREGATE_fun: $@136 valueexpr */
#line 14273 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 40580 "SecParser.tab.cpp"
break;
case 1029: /* PAGGREGATE_fun: function */
#line 14294 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40586 "SecParser.tab.cpp"
break;
case 1030: /* $@137: %empty */
#line 14301 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"arg1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"arg2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 40604 "SecParser.tab.cpp"
break;
case 1031: /* PAGGREGATEB_fun: $@137 valueexpr */
#line 14315 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 40630 "SecParser.tab.cpp"
break;
case 1032: /* PAGGREGATEB_fun: function */
#line 14336 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40636 "SecParser.tab.cpp"
break;
case 1033: /* $@138: %empty */
#line 14343 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 40654 "SecParser.tab.cpp"
break;
case 1034: /* AGGREGATES_fun: $@138 valueexpr */
#line 14357 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 40680 "SecParser.tab.cpp"
break;
case 1035: /* AGGREGATES_fun: function */
#line 14378 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40686 "SecParser.tab.cpp"
break;
case 1036: /* $@139: %empty */
#line 14385 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40699 "SecParser.tab.cpp"
break;
case 1037: /* USE_fun: $@139 valueexpr */
#line 14394 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40718 "SecParser.tab.cpp"
break;
case 1038: /* USE_fun: function */
#line 14408 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40724 "SecParser.tab.cpp"
break;
case 1039: /* $@140: %empty */
#line 14415 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 40742 "SecParser.tab.cpp"
break;
case 1040: /* USE2_fun: $@140 valueexpr */
#line 14429 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 40768 "SecParser.tab.cpp"
break;
case 1041: /* USE2_fun: function */
#line 14450 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40774 "SecParser.tab.cpp"
break;
case 1042: /* TS_fun: naming TS_fun_1 */
#line 14458 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 40784 "SecParser.tab.cpp"
break;
case 1043: /* TS_fun: naming TS_fun_1 ZZDEFAULTSEP valueexpr */
#line 14464 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 40794 "SecParser.tab.cpp"
break;
case 1044: /* TS_fun: TS_fun_1 */
#line 14469 "SecParser.y"
{yyval = yyvsp[0];}
#line 40800 "SecParser.tab.cpp"
break;
case 1045: /* TS_fun: TS_fun_1 ZZDEFAULTSEP valueexpr */
#line 14471 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 40806 "SecParser.tab.cpp"
break;
case 1046: /* $@141: %empty */
#line 14478 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40819 "SecParser.tab.cpp"
break;
case 1047: /* TS_fun_1: $@141 valueexpr */
#line 14487 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40838 "SecParser.tab.cpp"
break;
case 1048: /* TS_fun_1: function */
#line 14501 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40844 "SecParser.tab.cpp"
break;
case 1049: /* TS_funlist: TS_funlist_1 */
#line 14509 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 40853 "SecParser.tab.cpp"
break;
case 1050: /* TS_funlist_1: TS_fun */
#line 14519 "SecParser.y"
{yyval = yyvsp[0];}
#line 40859 "SecParser.tab.cpp"
break;
case 1051: /* TS_funlist_1: TS_funlist_1 ',' TS_fun */
#line 14521 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 40867 "SecParser.tab.cpp"
break;
case 1052: /* $@142: %empty */
#line 14530 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40880 "SecParser.tab.cpp"
break;
case 1053: /* AS_fun: $@142 valueexpr */
#line 14539 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40899 "SecParser.tab.cpp"
break;
case 1054: /* AS_fun: function */
#line 14553 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40905 "SecParser.tab.cpp"
break;
case 1055: /* $@143: %empty */
#line 14560 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40918 "SecParser.tab.cpp"
break;
case 1056: /* streamfun_fun: $@143 valueexpr */
#line 14569 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40937 "SecParser.tab.cpp"
break;
case 1057: /* streamfun_fun: function */
#line 14583 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40943 "SecParser.tab.cpp"
break;
case 1058: /* $@144: %empty */
#line 14590 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40956 "SecParser.tab.cpp"
break;
case 1059: /* prog_fun: $@144 valueexpr */
#line 14599 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 40975 "SecParser.tab.cpp"
break;
case 1060: /* prog_fun: function */
#line 14613 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 40981 "SecParser.tab.cpp"
break;
case 1061: /* $@145: %empty */
#line 14620 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 40994 "SecParser.tab.cpp"
break;
case 1062: /* SYNC_fun: $@145 valueexpr */
#line 14629 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41013 "SecParser.tab.cpp"
break;
case 1063: /* SYNC_fun: function */
#line 14643 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41019 "SecParser.tab.cpp"
break;
case 1064: /* $@146: %empty */
#line 14650 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"countelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 41037 "SecParser.tab.cpp"
break;
case 1065: /* SideEffect_fun: $@146 valueexpr */
#line 14664 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 41063 "SecParser.tab.cpp"
break;
case 1066: /* SideEffect_fun: function */
#line 14685 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41069 "SecParser.tab.cpp"
break;
case 1067: /* $@147: %empty */
#line 14692 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41082 "SecParser.tab.cpp"
break;
case 1068: /* OSHORTESTPATHD_fun: $@147 valueexpr */
#line 14701 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41101 "SecParser.tab.cpp"
break;
case 1069: /* OSHORTESTPATHD_fun: function */
#line 14715 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41107 "SecParser.tab.cpp"
break;
case 1070: /* $@148: %empty */
#line 14722 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41120 "SecParser.tab.cpp"
break;
case 1071: /* OSHORTESTPATHA_fun: $@148 valueexpr */
#line 14731 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41139 "SecParser.tab.cpp"
break;
case 1072: /* OSHORTESTPATHA_fun: function */
#line 14745 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41145 "SecParser.tab.cpp"
break;
case 1073: /* $@149: %empty */
#line 14752 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41158 "SecParser.tab.cpp"
break;
case 1074: /* READ2_fun: $@149 valueexpr */
#line 14761 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBSARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41177 "SecParser.tab.cpp"
break;
case 1075: /* READ2_fun: function */
#line 14775 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41183 "SecParser.tab.cpp"
break;
case 1076: /* $@150: %empty */
#line 14782 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41196 "SecParser.tab.cpp"
break;
case 1077: /* READ3_fun: $@150 valueexpr */
#line 14791 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBRARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41215 "SecParser.tab.cpp"
break;
case 1078: /* READ3_fun: function */
#line 14805 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41221 "SecParser.tab.cpp"
break;
case 1079: /* $@151: %empty */
#line 14812 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41234 "SecParser.tab.cpp"
break;
case 1080: /* RDERIVE_fun: $@151 valueexpr */
#line 14821 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" RELARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41253 "SecParser.tab.cpp"
break;
case 1081: /* RDERIVE_fun: function */
#line 14835 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41259 "SecParser.tab.cpp"
break;
case 1082: /* $@152: %empty */
#line 14842 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 41277 "SecParser.tab.cpp"
break;
case 1083: /* READ3_1_fun: $@152 valueexpr */
#line 14856 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBRARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DBIARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 41303 "SecParser.tab.cpp"
break;
case 1084: /* READ3_1_fun: function */
#line 14877 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41309 "SecParser.tab.cpp"
break;
case 1085: /* $@153: %empty */
#line 14884 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
#line 41332 "SecParser.tab.cpp"
break;
case 1086: /* READ3_2_fun: $@153 valueexpr */
#line 14903 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBRARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DBIARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" DBIARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
#line 41365 "SecParser.tab.cpp"
break;
case 1087: /* READ3_2_fun: function */
#line 14931 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41371 "SecParser.tab.cpp"
break;
case 1088: /* $@154: %empty */
#line 14938 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41384 "SecParser.tab.cpp"
break;
case 1089: /* FILTERX_fun: $@154 valueexpr */
#line 14947 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41403 "SecParser.tab.cpp"
break;
case 1090: /* FILTERX_fun: function */
#line 14961 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41409 "SecParser.tab.cpp"
break;
case 1091: /* UPDATESEARCH_fun: naming UPDATESEARCH_fun_1 */
#line 14969 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 41419 "SecParser.tab.cpp"
break;
case 1092: /* UPDATESEARCH_fun: naming UPDATESEARCH_fun_1 ZZDEFAULTSEP valueexpr */
#line 14975 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 41429 "SecParser.tab.cpp"
break;
case 1093: /* UPDATESEARCH_fun: UPDATESEARCH_fun_1 */
#line 14980 "SecParser.y"
{yyval = yyvsp[0];}
#line 41435 "SecParser.tab.cpp"
break;
case 1094: /* UPDATESEARCH_fun: UPDATESEARCH_fun_1 ZZDEFAULTSEP valueexpr */
#line 14982 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 41441 "SecParser.tab.cpp"
break;
case 1095: /* $@155: %empty */
#line 14989 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41454 "SecParser.tab.cpp"
break;
case 1096: /* UPDATESEARCH_fun_1: $@155 valueexpr */
#line 14998 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41473 "SecParser.tab.cpp"
break;
case 1097: /* UPDATESEARCH_fun_1: function */
#line 15012 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41479 "SecParser.tab.cpp"
break;
case 1098: /* UPDATESEARCH_funlist: UPDATESEARCH_funlist_1 */
#line 15020 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 41488 "SecParser.tab.cpp"
break;
case 1099: /* UPDATESEARCH_funlist_1: UPDATESEARCH_fun */
#line 15030 "SecParser.y"
{yyval = yyvsp[0];}
#line 41494 "SecParser.tab.cpp"
break;
case 1100: /* UPDATESEARCH_funlist_1: UPDATESEARCH_funlist_1 ',' UPDATESEARCH_fun */
#line 15032 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 41502 "SecParser.tab.cpp"
break;
case 1101: /* UPDATEDIRECT_fun: naming UPDATEDIRECT_fun_1 */
#line 15042 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 41512 "SecParser.tab.cpp"
break;
case 1102: /* UPDATEDIRECT_fun: naming UPDATEDIRECT_fun_1 ZZDEFAULTSEP valueexpr */
#line 15048 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 41522 "SecParser.tab.cpp"
break;
case 1103: /* UPDATEDIRECT_fun: UPDATEDIRECT_fun_1 */
#line 15053 "SecParser.y"
{yyval = yyvsp[0];}
#line 41528 "SecParser.tab.cpp"
break;
case 1104: /* UPDATEDIRECT_fun: UPDATEDIRECT_fun_1 ZZDEFAULTSEP valueexpr */
#line 15055 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 41534 "SecParser.tab.cpp"
break;
case 1105: /* $@156: %empty */
#line 15062 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41547 "SecParser.tab.cpp"
break;
case 1106: /* UPDATEDIRECT_fun_1: $@156 valueexpr */
#line 15071 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41566 "SecParser.tab.cpp"
break;
case 1107: /* UPDATEDIRECT_fun_1: function */
#line 15085 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41572 "SecParser.tab.cpp"
break;
case 1108: /* UPDATEDIRECT_funlist: UPDATEDIRECT_funlist_1 */
#line 15093 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 41581 "SecParser.tab.cpp"
break;
case 1109: /* UPDATEDIRECT_funlist_1: UPDATEDIRECT_fun */
#line 15103 "SecParser.y"
{yyval = yyvsp[0];}
#line 41587 "SecParser.tab.cpp"
break;
case 1110: /* UPDATEDIRECT_funlist_1: UPDATEDIRECT_funlist_1 ',' UPDATEDIRECT_fun */
#line 15105 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 41595 "SecParser.tab.cpp"
break;
case 1111: /* UPDATEDIRECT2_fun: naming UPDATEDIRECT2_fun_1 */
#line 15115 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 41605 "SecParser.tab.cpp"
break;
case 1112: /* UPDATEDIRECT2_fun: naming UPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr */
#line 15121 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 41615 "SecParser.tab.cpp"
break;
case 1113: /* UPDATEDIRECT2_fun: UPDATEDIRECT2_fun_1 */
#line 15126 "SecParser.y"
{yyval = yyvsp[0];}
#line 41621 "SecParser.tab.cpp"
break;
case 1114: /* UPDATEDIRECT2_fun: UPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr */
#line 15128 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 41627 "SecParser.tab.cpp"
break;
case 1115: /* $@157: %empty */
#line 15135 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"tuple2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 41645 "SecParser.tab.cpp"
break;
case 1116: /* UPDATEDIRECT2_fun_1: $@157 valueexpr */
#line 15149 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 41671 "SecParser.tab.cpp"
break;
case 1117: /* UPDATEDIRECT2_fun_1: function */
#line 15170 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41677 "SecParser.tab.cpp"
break;
case 1118: /* UPDATEDIRECT2_funlist: UPDATEDIRECT2_funlist_1 */
#line 15178 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 41686 "SecParser.tab.cpp"
break;
case 1119: /* UPDATEDIRECT2_funlist_1: UPDATEDIRECT2_fun */
#line 15188 "SecParser.y"
{yyval = yyvsp[0];}
#line 41692 "SecParser.tab.cpp"
break;
case 1120: /* UPDATEDIRECT2_funlist_1: UPDATEDIRECT2_funlist_1 ',' UPDATEDIRECT2_fun */
#line 15190 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 41700 "SecParser.tab.cpp"
break;
case 1121: /* UPDATEBYID2_fun: naming UPDATEBYID2_fun_1 */
#line 15200 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 41710 "SecParser.tab.cpp"
break;
case 1122: /* UPDATEBYID2_fun: naming UPDATEBYID2_fun_1 ZZDEFAULTSEP valueexpr */
#line 15206 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 41720 "SecParser.tab.cpp"
break;
case 1123: /* UPDATEBYID2_fun: UPDATEBYID2_fun_1 */
#line 15211 "SecParser.y"
{yyval = yyvsp[0];}
#line 41726 "SecParser.tab.cpp"
break;
case 1124: /* UPDATEBYID2_fun: UPDATEBYID2_fun_1 ZZDEFAULTSEP valueexpr */
#line 15213 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 41732 "SecParser.tab.cpp"
break;
case 1125: /* $@158: %empty */
#line 15220 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"tuple2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 41750 "SecParser.tab.cpp"
break;
case 1126: /* UPDATEBYID2_fun_1: $@158 valueexpr */
#line 15234 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 41776 "SecParser.tab.cpp"
break;
case 1127: /* UPDATEBYID2_fun_1: function */
#line 15255 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41782 "SecParser.tab.cpp"
break;
case 1128: /* UPDATEBYID2_funlist: UPDATEBYID2_funlist_1 */
#line 15263 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 41791 "SecParser.tab.cpp"
break;
case 1129: /* UPDATEBYID2_funlist_1: UPDATEBYID2_fun */
#line 15273 "SecParser.y"
{yyval = yyvsp[0];}
#line 41797 "SecParser.tab.cpp"
break;
case 1130: /* UPDATEBYID2_funlist_1: UPDATEBYID2_funlist_1 ',' UPDATEBYID2_fun */
#line 15275 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 41805 "SecParser.tab.cpp"
break;
case 1131: /* UPDATESEARCHSAVE_fun: naming UPDATESEARCHSAVE_fun_1 */
#line 15285 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 41815 "SecParser.tab.cpp"
break;
case 1132: /* UPDATESEARCHSAVE_fun: naming UPDATESEARCHSAVE_fun_1 ZZDEFAULTSEP valueexpr */
#line 15291 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 41825 "SecParser.tab.cpp"
break;
case 1133: /* UPDATESEARCHSAVE_fun: UPDATESEARCHSAVE_fun_1 */
#line 15296 "SecParser.y"
{yyval = yyvsp[0];}
#line 41831 "SecParser.tab.cpp"
break;
case 1134: /* UPDATESEARCHSAVE_fun: UPDATESEARCHSAVE_fun_1 ZZDEFAULTSEP valueexpr */
#line 15298 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 41837 "SecParser.tab.cpp"
break;
case 1135: /* $@159: %empty */
#line 15305 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41850 "SecParser.tab.cpp"
break;
case 1136: /* UPDATESEARCHSAVE_fun_1: $@159 valueexpr */
#line 15314 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41869 "SecParser.tab.cpp"
break;
case 1137: /* UPDATESEARCHSAVE_fun_1: function */
#line 15328 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41875 "SecParser.tab.cpp"
break;
case 1138: /* UPDATESEARCHSAVE_funlist: UPDATESEARCHSAVE_funlist_1 */
#line 15336 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 41884 "SecParser.tab.cpp"
break;
case 1139: /* UPDATESEARCHSAVE_funlist_1: UPDATESEARCHSAVE_fun */
#line 15346 "SecParser.y"
{yyval = yyvsp[0];}
#line 41890 "SecParser.tab.cpp"
break;
case 1140: /* UPDATESEARCHSAVE_funlist_1: UPDATESEARCHSAVE_funlist_1 ',' UPDATESEARCHSAVE_fun */
#line 15348 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 41898 "SecParser.tab.cpp"
break;
case 1141: /* UPDATEDIRECTSAVE_fun: naming UPDATEDIRECTSAVE_fun_1 */
#line 15358 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 41908 "SecParser.tab.cpp"
break;
case 1142: /* UPDATEDIRECTSAVE_fun: naming UPDATEDIRECTSAVE_fun_1 ZZDEFAULTSEP valueexpr */
#line 15364 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 41918 "SecParser.tab.cpp"
break;
case 1143: /* UPDATEDIRECTSAVE_fun: UPDATEDIRECTSAVE_fun_1 */
#line 15369 "SecParser.y"
{yyval = yyvsp[0];}
#line 41924 "SecParser.tab.cpp"
break;
case 1144: /* UPDATEDIRECTSAVE_fun: UPDATEDIRECTSAVE_fun_1 ZZDEFAULTSEP valueexpr */
#line 15371 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 41930 "SecParser.tab.cpp"
break;
case 1145: /* $@160: %empty */
#line 15378 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 41943 "SecParser.tab.cpp"
break;
case 1146: /* UPDATEDIRECTSAVE_fun_1: $@160 valueexpr */
#line 15387 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 41962 "SecParser.tab.cpp"
break;
case 1147: /* UPDATEDIRECTSAVE_fun_1: function */
#line 15401 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 41968 "SecParser.tab.cpp"
break;
case 1148: /* UPDATEDIRECTSAVE_funlist: UPDATEDIRECTSAVE_funlist_1 */
#line 15409 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 41977 "SecParser.tab.cpp"
break;
case 1149: /* UPDATEDIRECTSAVE_funlist_1: UPDATEDIRECTSAVE_fun */
#line 15419 "SecParser.y"
{yyval = yyvsp[0];}
#line 41983 "SecParser.tab.cpp"
break;
case 1150: /* UPDATEDIRECTSAVE_funlist_1: UPDATEDIRECTSAVE_funlist_1 ',' UPDATEDIRECTSAVE_fun */
#line 15421 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 41991 "SecParser.tab.cpp"
break;
case 1151: /* UPDATEBYID_fun: naming UPDATEBYID_fun_1 */
#line 15431 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 42001 "SecParser.tab.cpp"
break;
case 1152: /* UPDATEBYID_fun: naming UPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr */
#line 15437 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 42011 "SecParser.tab.cpp"
break;
case 1153: /* UPDATEBYID_fun: UPDATEBYID_fun_1 */
#line 15442 "SecParser.y"
{yyval = yyvsp[0];}
#line 42017 "SecParser.tab.cpp"
break;
case 1154: /* UPDATEBYID_fun: UPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr */
#line 15444 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 42023 "SecParser.tab.cpp"
break;
case 1155: /* $@161: %empty */
#line 15451 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42036 "SecParser.tab.cpp"
break;
case 1156: /* UPDATEBYID_fun_1: $@161 valueexpr */
#line 15460 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42055 "SecParser.tab.cpp"
break;
case 1157: /* UPDATEBYID_fun_1: function */
#line 15474 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42061 "SecParser.tab.cpp"
break;
case 1158: /* UPDATEBYID_funlist: UPDATEBYID_funlist_1 */
#line 15482 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 42070 "SecParser.tab.cpp"
break;
case 1159: /* UPDATEBYID_funlist_1: UPDATEBYID_fun */
#line 15492 "SecParser.y"
{yyval = yyvsp[0];}
#line 42076 "SecParser.tab.cpp"
break;
case 1160: /* UPDATEBYID_funlist_1: UPDATEBYID_funlist_1 ',' UPDATEBYID_fun */
#line 15494 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 42084 "SecParser.tab.cpp"
break;
case 1161: /* $@162: %empty */
#line 15503 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42097 "SecParser.tab.cpp"
break;
case 1162: /* FILTERINSERT_fun: $@162 valueexpr */
#line 15512 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42116 "SecParser.tab.cpp"
break;
case 1163: /* FILTERINSERT_fun: function */
#line 15526 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42122 "SecParser.tab.cpp"
break;
case 1164: /* CPROJECTEXTEND_fun: naming CPROJECTEXTEND_fun_1 */
#line 15534 "SecParser.y"
{yyval = NestedText::Concat( (USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")) ))));}
#line 42132 "SecParser.tab.cpp"
break;
case 1165: /* CPROJECTEXTEND_fun: naming CPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 15540 "SecParser.y"
{yyval = NestedText::Concat( (USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , (USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")) ))))));}
#line 42142 "SecParser.tab.cpp"
break;
case 1166: /* CPROJECTEXTEND_fun: CPROJECTEXTEND_fun_1 */
#line 15545 "SecParser.y"
{yyval = yyvsp[0];}
#line 42148 "SecParser.tab.cpp"
break;
case 1167: /* CPROJECTEXTEND_fun: CPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 15547 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 42154 "SecParser.tab.cpp"
break;
case 1168: /* $@163: %empty */
#line 15554 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42167 "SecParser.tab.cpp"
break;
case 1169: /* CPROJECTEXTEND_fun_1: $@163 valueexpr */
#line 15563 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42186 "SecParser.tab.cpp"
break;
case 1170: /* CPROJECTEXTEND_fun_1: function */
#line 15577 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42192 "SecParser.tab.cpp"
break;
case 1171: /* CPROJECTEXTEND_funlist: CPROJECTEXTEND_funlist_1 */
#line 15585 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 42201 "SecParser.tab.cpp"
break;
case 1172: /* CPROJECTEXTEND_funlist_1: CPROJECTEXTEND_fun */
#line 15595 "SecParser.y"
{yyval = yyvsp[0];}
#line 42207 "SecParser.tab.cpp"
break;
case 1173: /* CPROJECTEXTEND_funlist_1: CPROJECTEXTEND_funlist_1 ',' CPROJECTEXTEND_fun */
#line 15597 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 42215 "SecParser.tab.cpp"
break;
case 1174: /* $@164: %empty */
#line 15606 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42228 "SecParser.tab.cpp"
break;
case 1175: /* MAP_fun: $@164 valueexpr */
#line 15615 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" CELL1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42247 "SecParser.tab.cpp"
break;
case 1176: /* MAP_fun: function */
#line 15629 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42253 "SecParser.tab.cpp"
break;
case 1177: /* $@165: %empty */
#line 15636 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 42271 "SecParser.tab.cpp"
break;
case 1178: /* MAP2_fun: $@165 valueexpr */
#line 15650 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" CELL1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" CELL2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 42297 "SecParser.tab.cpp"
break;
case 1179: /* MAP2_fun: function */
#line 15671 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42303 "SecParser.tab.cpp"
break;
case 1180: /* $@166: %empty */
#line 15678 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42316 "SecParser.tab.cpp"
break;
case 1181: /* MATCHGRID_fun: $@166 valueexpr */
#line 15687 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" CELLS"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42335 "SecParser.tab.cpp"
break;
case 1182: /* MATCHGRID_fun: function */
#line 15701 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42341 "SecParser.tab.cpp"
break;
case 1183: /* $@167: %empty */
#line 15708 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42354 "SecParser.tab.cpp"
break;
case 1184: /* REPLACEELEM_fun: $@167 valueexpr */
#line 15717 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42373 "SecParser.tab.cpp"
break;
case 1185: /* REPLACEELEM_fun: function */
#line 15731 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42379 "SecParser.tab.cpp"
break;
case 1186: /* GROUPBY2_fun: naming GROUPBY2_fun_1 */
#line 15739 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 42389 "SecParser.tab.cpp"
break;
case 1187: /* GROUPBY2_fun: naming GROUPBY2_fun_1 ZZDEFAULTSEP valueexpr */
#line 15745 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 42399 "SecParser.tab.cpp"
break;
case 1188: /* GROUPBY2_fun: GROUPBY2_fun_1 */
#line 15750 "SecParser.y"
{yyval = yyvsp[0];}
#line 42405 "SecParser.tab.cpp"
break;
case 1189: /* GROUPBY2_fun: GROUPBY2_fun_1 ZZDEFAULTSEP valueexpr */
#line 15752 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 42411 "SecParser.tab.cpp"
break;
case 1190: /* $@168: %empty */
#line 15759 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42424 "SecParser.tab.cpp"
break;
case 1191: /* GROUPBY2_fun_1: $@168 valueexpr */
#line 15768 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42443 "SecParser.tab.cpp"
break;
case 1192: /* GROUPBY2_fun_1: function */
#line 15782 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42449 "SecParser.tab.cpp"
break;
case 1193: /* GROUPBY2_funlist: GROUPBY2_funlist_1 */
#line 15790 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 42458 "SecParser.tab.cpp"
break;
case 1194: /* GROUPBY2_funlist_1: GROUPBY2_fun */
#line 15800 "SecParser.y"
{yyval = yyvsp[0];}
#line 42464 "SecParser.tab.cpp"
break;
case 1195: /* GROUPBY2_funlist_1: GROUPBY2_funlist_1 ',' GROUPBY2_fun */
#line 15802 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 42472 "SecParser.tab.cpp"
break;
case 1196: /* $@169: %empty */
#line 15811 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42485 "SecParser.tab.cpp"
break;
case 1197: /* HADOOPMAP_fun: $@169 valueexpr */
#line 15820 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42504 "SecParser.tab.cpp"
break;
case 1198: /* HADOOPMAP_fun: function */
#line 15834 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42510 "SecParser.tab.cpp"
break;
case 1199: /* $@170: %empty */
#line 15841 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42523 "SecParser.tab.cpp"
break;
case 1200: /* HADOOPREDUCE_fun: $@170 valueexpr */
#line 15850 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42542 "SecParser.tab.cpp"
break;
case 1201: /* HADOOPREDUCE_fun: function */
#line 15864 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42548 "SecParser.tab.cpp"
break;
case 1202: /* $@171: %empty */
#line 15871 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lobject2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 42566 "SecParser.tab.cpp"
break;
case 1203: /* HADOOPREDUCE2_fun: $@171 valueexpr */
#line 15885 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TPARA2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 42592 "SecParser.tab.cpp"
break;
case 1204: /* HADOOPREDUCE2_fun: function */
#line 15906 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42598 "SecParser.tab.cpp"
break;
case 1205: /* $@172: %empty */
#line 15913 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lobject2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 42616 "SecParser.tab.cpp"
break;
case 1206: /* HADOOPMAP2_fun: $@172 valueexpr */
#line 15927 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TPARA2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 42642 "SecParser.tab.cpp"
break;
case 1207: /* HADOOPMAP2_fun: function */
#line 15948 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42648 "SecParser.tab.cpp"
break;
case 1208: /* $@173: %empty */
#line 15955 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42661 "SecParser.tab.cpp"
break;
case 1209: /* GPATTERN_fun: $@173 valueexpr */
#line 15964 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42680 "SecParser.tab.cpp"
break;
case 1210: /* GPATTERN_fun: function */
#line 15978 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42686 "SecParser.tab.cpp"
break;
case 1211: /* $@174: %empty */
#line 15985 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42699 "SecParser.tab.cpp"
break;
case 1212: /* CROSSPATTERN_fun: $@174 valueexpr */
#line 15994 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42718 "SecParser.tab.cpp"
break;
case 1213: /* CROSSPATTERN_fun: function */
#line 16008 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42724 "SecParser.tab.cpp"
break;
case 1214: /* $@175: %empty */
#line 16015 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42737 "SecParser.tab.cpp"
break;
case 1215: /* MTHREADEDFILTER_fun: $@175 valueexpr */
#line 16024 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42756 "SecParser.tab.cpp"
break;
case 1216: /* MTHREADEDFILTER_fun: function */
#line 16038 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42762 "SecParser.tab.cpp"
break;
case 1217: /* $@176: %empty */
#line 16045 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42775 "SecParser.tab.cpp"
break;
case 1218: /* CANCEL_fun: $@176 valueexpr */
#line 16054 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42794 "SecParser.tab.cpp"
break;
case 1219: /* CANCEL_fun: function */
#line 16068 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42800 "SecParser.tab.cpp"
break;
case 1220: /* PROJECTEXTEND_fun: naming PROJECTEXTEND_fun_1 */
#line 16076 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 42810 "SecParser.tab.cpp"
break;
case 1221: /* PROJECTEXTEND_fun: naming PROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 16082 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 42820 "SecParser.tab.cpp"
break;
case 1222: /* PROJECTEXTEND_fun: PROJECTEXTEND_fun_1 */
#line 16087 "SecParser.y"
{yyval = yyvsp[0];}
#line 42826 "SecParser.tab.cpp"
break;
case 1223: /* PROJECTEXTEND_fun: PROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 16089 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 42832 "SecParser.tab.cpp"
break;
case 1224: /* $@177: %empty */
#line 16096 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42845 "SecParser.tab.cpp"
break;
case 1225: /* PROJECTEXTEND_fun_1: $@177 valueexpr */
#line 16105 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42864 "SecParser.tab.cpp"
break;
case 1226: /* PROJECTEXTEND_fun_1: function */
#line 16119 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42870 "SecParser.tab.cpp"
break;
case 1227: /* PROJECTEXTEND_funlist: PROJECTEXTEND_funlist_1 */
#line 16127 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 42879 "SecParser.tab.cpp"
break;
case 1228: /* PROJECTEXTEND_funlist_1: PROJECTEXTEND_fun */
#line 16137 "SecParser.y"
{yyval = yyvsp[0];}
#line 42885 "SecParser.tab.cpp"
break;
case 1229: /* PROJECTEXTEND_funlist_1: PROJECTEXTEND_funlist_1 ',' PROJECTEXTEND_fun */
#line 16139 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 42893 "SecParser.tab.cpp"
break;
case 1230: /* EXTENDSTREAM_fun: naming EXTENDSTREAM_fun_1 */
#line 16149 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 42903 "SecParser.tab.cpp"
break;
case 1231: /* EXTENDSTREAM_fun: naming EXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 16155 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 42913 "SecParser.tab.cpp"
break;
case 1232: /* EXTENDSTREAM_fun: EXTENDSTREAM_fun_1 */
#line 16160 "SecParser.y"
{yyval = yyvsp[0];}
#line 42919 "SecParser.tab.cpp"
break;
case 1233: /* EXTENDSTREAM_fun: EXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 16162 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 42925 "SecParser.tab.cpp"
break;
case 1234: /* $@178: %empty */
#line 16169 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 42938 "SecParser.tab.cpp"
break;
case 1235: /* EXTENDSTREAM_fun_1: $@178 valueexpr */
#line 16178 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 42957 "SecParser.tab.cpp"
break;
case 1236: /* EXTENDSTREAM_fun_1: function */
#line 16192 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 42963 "SecParser.tab.cpp"
break;
case 1237: /* EXTENDSTREAM_funlist: EXTENDSTREAM_funlist_1 */
#line 16200 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 42972 "SecParser.tab.cpp"
break;
case 1238: /* EXTENDSTREAM_funlist_1: EXTENDSTREAM_fun */
#line 16210 "SecParser.y"
{yyval = yyvsp[0];}
#line 42978 "SecParser.tab.cpp"
break;
case 1239: /* EXTENDSTREAM_funlist_1: EXTENDSTREAM_funlist_1 ',' EXTENDSTREAM_fun */
#line 16212 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 42986 "SecParser.tab.cpp"
break;
case 1240: /* PROJECTEXTENDSTREAM_fun: naming PROJECTEXTENDSTREAM_fun_1 */
#line 16222 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 42996 "SecParser.tab.cpp"
break;
case 1241: /* PROJECTEXTENDSTREAM_fun: naming PROJECTEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 16228 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43006 "SecParser.tab.cpp"
break;
case 1242: /* PROJECTEXTENDSTREAM_fun: PROJECTEXTENDSTREAM_fun_1 */
#line 16233 "SecParser.y"
{yyval = yyvsp[0];}
#line 43012 "SecParser.tab.cpp"
break;
case 1243: /* PROJECTEXTENDSTREAM_fun: PROJECTEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 16235 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43018 "SecParser.tab.cpp"
break;
case 1244: /* $@179: %empty */
#line 16242 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 43031 "SecParser.tab.cpp"
break;
case 1245: /* PROJECTEXTENDSTREAM_fun_1: $@179 valueexpr */
#line 16251 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 43050 "SecParser.tab.cpp"
break;
case 1246: /* PROJECTEXTENDSTREAM_fun_1: function */
#line 16265 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43056 "SecParser.tab.cpp"
break;
case 1247: /* PROJECTEXTENDSTREAM_funlist: PROJECTEXTENDSTREAM_funlist_1 */
#line 16273 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43065 "SecParser.tab.cpp"
break;
case 1248: /* PROJECTEXTENDSTREAM_funlist_1: PROJECTEXTENDSTREAM_fun */
#line 16283 "SecParser.y"
{yyval = yyvsp[0];}
#line 43071 "SecParser.tab.cpp"
break;
case 1249: /* PROJECTEXTENDSTREAM_funlist_1: PROJECTEXTENDSTREAM_funlist_1 ',' PROJECTEXTENDSTREAM_fun */
#line 16285 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43079 "SecParser.tab.cpp"
break;
case 1250: /* GROUPBY_fun: naming GROUPBY_fun_1 */
#line 16295 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 43089 "SecParser.tab.cpp"
break;
case 1251: /* GROUPBY_fun: naming GROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 16301 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43099 "SecParser.tab.cpp"
break;
case 1252: /* GROUPBY_fun: GROUPBY_fun_1 */
#line 16306 "SecParser.y"
{yyval = yyvsp[0];}
#line 43105 "SecParser.tab.cpp"
break;
case 1253: /* GROUPBY_fun: GROUPBY_fun_1 ZZDEFAULTSEP valueexpr */
#line 16308 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43111 "SecParser.tab.cpp"
break;
case 1254: /* $@180: %empty */
#line 16315 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"group");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 43124 "SecParser.tab.cpp"
break;
case 1255: /* GROUPBY_fun_1: $@180 valueexpr */
#line 16324 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GROUP"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 43143 "SecParser.tab.cpp"
break;
case 1256: /* GROUPBY_fun_1: function */
#line 16338 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43149 "SecParser.tab.cpp"
break;
case 1257: /* GROUPBY_funlist: GROUPBY_funlist_1 */
#line 16346 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43158 "SecParser.tab.cpp"
break;
case 1258: /* GROUPBY_funlist_1: GROUPBY_fun */
#line 16356 "SecParser.y"
{yyval = yyvsp[0];}
#line 43164 "SecParser.tab.cpp"
break;
case 1259: /* GROUPBY_funlist_1: GROUPBY_funlist_1 ',' GROUPBY_fun */
#line 16358 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43172 "SecParser.tab.cpp"
break;
case 1260: /* SLIDINGWINDOW_fun: naming SLIDINGWINDOW_fun_1 */
#line 16368 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 43182 "SecParser.tab.cpp"
break;
case 1261: /* SLIDINGWINDOW_fun: naming SLIDINGWINDOW_fun_1 ZZDEFAULTSEP valueexpr */
#line 16374 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43192 "SecParser.tab.cpp"
break;
case 1262: /* SLIDINGWINDOW_fun: SLIDINGWINDOW_fun_1 */
#line 16379 "SecParser.y"
{yyval = yyvsp[0];}
#line 43198 "SecParser.tab.cpp"
break;
case 1263: /* SLIDINGWINDOW_fun: SLIDINGWINDOW_fun_1 ZZDEFAULTSEP valueexpr */
#line 16381 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43204 "SecParser.tab.cpp"
break;
case 1264: /* $@181: %empty */
#line 16388 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"group");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 43217 "SecParser.tab.cpp"
break;
case 1265: /* SLIDINGWINDOW_fun_1: $@181 valueexpr */
#line 16397 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GROUP"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 43236 "SecParser.tab.cpp"
break;
case 1266: /* SLIDINGWINDOW_fun_1: function */
#line 16411 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43242 "SecParser.tab.cpp"
break;
case 1267: /* SLIDINGWINDOW_funlist: SLIDINGWINDOW_funlist_1 */
#line 16419 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43251 "SecParser.tab.cpp"
break;
case 1268: /* SLIDINGWINDOW_funlist_1: SLIDINGWINDOW_fun */
#line 16429 "SecParser.y"
{yyval = yyvsp[0];}
#line 43257 "SecParser.tab.cpp"
break;
case 1269: /* SLIDINGWINDOW_funlist_1: SLIDINGWINDOW_funlist_1 ',' SLIDINGWINDOW_fun */
#line 16431 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43265 "SecParser.tab.cpp"
break;
case 1270: /* $@182: %empty */
#line 16440 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 43278 "SecParser.tab.cpp"
break;
case 1271: /* LOOPJOIN_fun: $@182 valueexpr */
#line 16449 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 43297 "SecParser.tab.cpp"
break;
case 1272: /* LOOPJOIN_fun: function */
#line 16463 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43303 "SecParser.tab.cpp"
break;
case 1273: /* $@183: %empty */
#line 16470 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 43316 "SecParser.tab.cpp"
break;
case 1274: /* LOOPSEL_fun: $@183 valueexpr */
#line 16479 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 43335 "SecParser.tab.cpp"
break;
case 1275: /* LOOPSEL_fun: function */
#line 16493 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43341 "SecParser.tab.cpp"
break;
case 1276: /* $@184: %empty */
#line 16500 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43359 "SecParser.tab.cpp"
break;
case 1277: /* AGGREGATE_fun: $@184 valueexpr */
#line 16514 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43385 "SecParser.tab.cpp"
break;
case 1278: /* AGGREGATE_fun: function */
#line 16535 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43391 "SecParser.tab.cpp"
break;
case 1279: /* $@185: %empty */
#line 16542 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43409 "SecParser.tab.cpp"
break;
case 1280: /* AGGREGATEB_fun: $@185 valueexpr */
#line 16556 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43435 "SecParser.tab.cpp"
break;
case 1281: /* AGGREGATEB_fun: function */
#line 16577 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43441 "SecParser.tab.cpp"
break;
case 1282: /* $@186: %empty */
#line 16584 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43459 "SecParser.tab.cpp"
break;
case 1283: /* SYMMJOIN_fun: $@186 valueexpr */
#line 16598 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43485 "SecParser.tab.cpp"
break;
case 1284: /* SYMMJOIN_fun: function */
#line 16619 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43491 "SecParser.tab.cpp"
break;
case 1285: /* $@187: %empty */
#line 16626 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43509 "SecParser.tab.cpp"
break;
case 1286: /* SYMMOUTERJOIN_fun: $@187 valueexpr */
#line 16640 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43535 "SecParser.tab.cpp"
break;
case 1287: /* SYMMOUTERJOIN_fun: function */
#line 16661 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43541 "SecParser.tab.cpp"
break;
case 1288: /* SYMMPRODUCTEXTEND_fun: naming SYMMPRODUCTEXTEND_fun_1 */
#line 16669 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 43551 "SecParser.tab.cpp"
break;
case 1289: /* SYMMPRODUCTEXTEND_fun: naming SYMMPRODUCTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 16675 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43561 "SecParser.tab.cpp"
break;
case 1290: /* SYMMPRODUCTEXTEND_fun: SYMMPRODUCTEXTEND_fun_1 */
#line 16680 "SecParser.y"
{yyval = yyvsp[0];}
#line 43567 "SecParser.tab.cpp"
break;
case 1291: /* SYMMPRODUCTEXTEND_fun: SYMMPRODUCTEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 16682 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43573 "SecParser.tab.cpp"
break;
case 1292: /* $@188: %empty */
#line 16689 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43591 "SecParser.tab.cpp"
break;
case 1293: /* SYMMPRODUCTEXTEND_fun_1: $@188 valueexpr */
#line 16703 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43617 "SecParser.tab.cpp"
break;
case 1294: /* SYMMPRODUCTEXTEND_fun_1: function */
#line 16724 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43623 "SecParser.tab.cpp"
break;
case 1295: /* SYMMPRODUCTEXTEND_funlist: SYMMPRODUCTEXTEND_funlist_1 */
#line 16732 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43632 "SecParser.tab.cpp"
break;
case 1296: /* SYMMPRODUCTEXTEND_funlist_1: SYMMPRODUCTEXTEND_fun */
#line 16742 "SecParser.y"
{yyval = yyvsp[0];}
#line 43638 "SecParser.tab.cpp"
break;
case 1297: /* SYMMPRODUCTEXTEND_funlist_1: SYMMPRODUCTEXTEND_funlist_1 ',' SYMMPRODUCTEXTEND_fun */
#line 16744 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43646 "SecParser.tab.cpp"
break;
case 1298: /* EXTEND_LAST_fun: naming EXTEND_LAST_fun_1 */
#line 16754 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 43656 "SecParser.tab.cpp"
break;
case 1299: /* EXTEND_LAST_fun: naming EXTEND_LAST_fun_1 ZZDEFAULTSEP valueexpr */
#line 16760 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43666 "SecParser.tab.cpp"
break;
case 1300: /* EXTEND_LAST_fun: EXTEND_LAST_fun_1 */
#line 16765 "SecParser.y"
{yyval = yyvsp[0];}
#line 43672 "SecParser.tab.cpp"
break;
case 1301: /* EXTEND_LAST_fun: EXTEND_LAST_fun_1 ZZDEFAULTSEP valueexpr */
#line 16767 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43678 "SecParser.tab.cpp"
break;
case 1302: /* $@189: %empty */
#line 16774 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"currenttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lasttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43696 "SecParser.tab.cpp"
break;
case 1303: /* EXTEND_LAST_fun_1: $@189 valueexpr */
#line 16788 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43722 "SecParser.tab.cpp"
break;
case 1304: /* EXTEND_LAST_fun_1: function */
#line 16809 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43728 "SecParser.tab.cpp"
break;
case 1305: /* EXTEND_LAST_funlist: EXTEND_LAST_funlist_1 */
#line 16817 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43737 "SecParser.tab.cpp"
break;
case 1306: /* EXTEND_LAST_funlist_1: EXTEND_LAST_fun */
#line 16827 "SecParser.y"
{yyval = yyvsp[0];}
#line 43743 "SecParser.tab.cpp"
break;
case 1307: /* EXTEND_LAST_funlist_1: EXTEND_LAST_funlist_1 ',' EXTEND_LAST_fun */
#line 16829 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43751 "SecParser.tab.cpp"
break;
case 1308: /* EXTEND_NEXT_fun: naming EXTEND_NEXT_fun_1 */
#line 16839 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 43761 "SecParser.tab.cpp"
break;
case 1309: /* EXTEND_NEXT_fun: naming EXTEND_NEXT_fun_1 ZZDEFAULTSEP valueexpr */
#line 16845 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43771 "SecParser.tab.cpp"
break;
case 1310: /* EXTEND_NEXT_fun: EXTEND_NEXT_fun_1 */
#line 16850 "SecParser.y"
{yyval = yyvsp[0];}
#line 43777 "SecParser.tab.cpp"
break;
case 1311: /* EXTEND_NEXT_fun: EXTEND_NEXT_fun_1 ZZDEFAULTSEP valueexpr */
#line 16852 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43783 "SecParser.tab.cpp"
break;
case 1312: /* $@190: %empty */
#line 16859 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"currenttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lasttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43801 "SecParser.tab.cpp"
break;
case 1313: /* EXTEND_NEXT_fun_1: $@190 valueexpr */
#line 16873 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43827 "SecParser.tab.cpp"
break;
case 1314: /* EXTEND_NEXT_fun_1: function */
#line 16894 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43833 "SecParser.tab.cpp"
break;
case 1315: /* EXTEND_NEXT_funlist: EXTEND_NEXT_funlist_1 */
#line 16902 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43842 "SecParser.tab.cpp"
break;
case 1316: /* EXTEND_NEXT_funlist_1: EXTEND_NEXT_fun */
#line 16912 "SecParser.y"
{yyval = yyvsp[0];}
#line 43848 "SecParser.tab.cpp"
break;
case 1317: /* EXTEND_NEXT_funlist_1: EXTEND_NEXT_funlist_1 ',' EXTEND_NEXT_fun */
#line 16914 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43856 "SecParser.tab.cpp"
break;
case 1318: /* REPLACEATTR_fun: naming REPLACEATTR_fun_1 */
#line 16924 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 43866 "SecParser.tab.cpp"
break;
case 1319: /* REPLACEATTR_fun: naming REPLACEATTR_fun_1 ZZDEFAULTSEP valueexpr */
#line 16930 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 43876 "SecParser.tab.cpp"
break;
case 1320: /* REPLACEATTR_fun: REPLACEATTR_fun_1 */
#line 16935 "SecParser.y"
{yyval = yyvsp[0];}
#line 43882 "SecParser.tab.cpp"
break;
case 1321: /* REPLACEATTR_fun: REPLACEATTR_fun_1 ZZDEFAULTSEP valueexpr */
#line 16937 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 43888 "SecParser.tab.cpp"
break;
case 1322: /* $@191: %empty */
#line 16944 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 43901 "SecParser.tab.cpp"
break;
case 1323: /* REPLACEATTR_fun_1: $@191 valueexpr */
#line 16953 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 43920 "SecParser.tab.cpp"
break;
case 1324: /* REPLACEATTR_fun_1: function */
#line 16967 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43926 "SecParser.tab.cpp"
break;
case 1325: /* REPLACEATTR_funlist: REPLACEATTR_funlist_1 */
#line 16975 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 43935 "SecParser.tab.cpp"
break;
case 1326: /* REPLACEATTR_funlist_1: REPLACEATTR_fun */
#line 16985 "SecParser.y"
{yyval = yyvsp[0];}
#line 43941 "SecParser.tab.cpp"
break;
case 1327: /* REPLACEATTR_funlist_1: REPLACEATTR_funlist_1 ',' REPLACEATTR_fun */
#line 16987 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 43949 "SecParser.tab.cpp"
break;
case 1328: /* $@192: %empty */
#line 16996 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"currenttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lasttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 43967 "SecParser.tab.cpp"
break;
case 1329: /* PFILTER_fun: $@192 valueexpr */
#line 17010 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 43993 "SecParser.tab.cpp"
break;
case 1330: /* PFILTER_fun: function */
#line 17031 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 43999 "SecParser.tab.cpp"
break;
case 1331: /* $@193: %empty */
#line 17038 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44012 "SecParser.tab.cpp"
break;
case 1332: /* EXTENDX_fun: $@193 valueexpr */
#line 17047 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44031 "SecParser.tab.cpp"
break;
case 1333: /* EXTENDX_fun: function */
#line 17061 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44037 "SecParser.tab.cpp"
break;
case 1334: /* $@194: %empty */
#line 17068 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"value");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 44055 "SecParser.tab.cpp"
break;
case 1335: /* ADDMODCOUNTER_fun: $@194 valueexpr */
#line 17082 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 44081 "SecParser.tab.cpp"
break;
case 1336: /* ADDMODCOUNTER_fun: function */
#line 17103 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44087 "SecParser.tab.cpp"
break;
case 1337: /* $@195: %empty */
#line 17110 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44100 "SecParser.tab.cpp"
break;
case 1338: /* USEHISTOGRAM_fun: $@195 valueexpr */
#line 17119 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44119 "SecParser.tab.cpp"
break;
case 1339: /* USEHISTOGRAM_fun: function */
#line 17133 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44125 "SecParser.tab.cpp"
break;
case 1340: /* $@196: %empty */
#line 17140 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"element1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"element2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 44143 "SecParser.tab.cpp"
break;
case 1341: /* USEHISTOGRAM2_fun: $@196 valueexpr */
#line 17154 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 44169 "SecParser.tab.cpp"
break;
case 1342: /* USEHISTOGRAM2_fun: function */
#line 17175 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44175 "SecParser.tab.cpp"
break;
case 1343: /* $@197: %empty */
#line 17182 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"dmapelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44188 "SecParser.tab.cpp"
break;
case 1344: /* DMAPS_fun: $@197 valueexpr */
#line 17191 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44207 "SecParser.tab.cpp"
break;
case 1345: /* DMAPS_fun: function */
#line 17205 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44213 "SecParser.tab.cpp"
break;
case 1346: /* $@198: %empty */
#line 17212 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 44231 "SecParser.tab.cpp"
break;
case 1347: /* DMAPS2_fun: $@198 valueexpr */
#line 17226 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 44257 "SecParser.tab.cpp"
break;
case 1348: /* DMAPS2_fun: function */
#line 17247 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44263 "SecParser.tab.cpp"
break;
case 1349: /* $@199: %empty */
#line 17254 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
#line 44286 "SecParser.tab.cpp"
break;
case 1350: /* DMAPS3_fun: $@199 valueexpr */
#line 17273 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
#line 44319 "SecParser.tab.cpp"
break;
case 1351: /* DMAPS3_fun: function */
#line 17301 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44325 "SecParser.tab.cpp"
break;
case 1352: /* $@200: %empty */
#line 17308 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
#line 44353 "SecParser.tab.cpp"
break;
case 1353: /* DMAPS4_fun: $@200 valueexpr */
#line 17332 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
#line 44393 "SecParser.tab.cpp"
break;
case 1354: /* DMAPS4_fun: function */
#line 17367 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44399 "SecParser.tab.cpp"
break;
case 1355: /* $@201: %empty */
#line 17374 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
#line 44432 "SecParser.tab.cpp"
break;
case 1356: /* DMAPS5_fun: $@201 valueexpr */
#line 17403 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
#line 44479 "SecParser.tab.cpp"
break;
case 1357: /* DMAPS5_fun: function */
#line 17445 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44485 "SecParser.tab.cpp"
break;
case 1358: /* $@202: %empty */
#line 17452 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 44503 "SecParser.tab.cpp"
break;
case 1359: /* DPRODUCTS_fun: $@202 valueexpr */
#line 17466 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNFSARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 44529 "SecParser.tab.cpp"
break;
case 1360: /* DPRODUCTS_fun: function */
#line 17487 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44535 "SecParser.tab.cpp"
break;
case 1361: /* $@203: %empty */
#line 17494 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"arg1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"arg2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 44553 "SecParser.tab.cpp"
break;
case 1362: /* PARTITIONFS_fun: $@203 valueexpr */
#line 17508 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARGPARTITIONF"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARGPARTITIONF"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 44579 "SecParser.tab.cpp"
break;
case 1363: /* PARTITIONFS_fun: function */
#line 17529 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44585 "SecParser.tab.cpp"
break;
case 1364: /* $@204: %empty */
#line 17536 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44598 "SecParser.tab.cpp"
break;
case 1365: /* DBSCAN_fun: $@204 valueexpr */
#line 17545 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44617 "SecParser.tab.cpp"
break;
case 1366: /* DBSCAN_fun: function */
#line 17559 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44623 "SecParser.tab.cpp"
break;
case 1367: /* $@205: %empty */
#line 17566 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44636 "SecParser.tab.cpp"
break;
case 1368: /* REGISTERFORSTREAM_fun: $@205 valueexpr */
#line 17575 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TTYPE3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44655 "SecParser.tab.cpp"
break;
case 1369: /* REGISTERFORSTREAM_fun: function */
#line 17589 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44661 "SecParser.tab.cpp"
break;
case 1370: /* PREDCOUNTS_fun: naming PREDCOUNTS_fun_1 */
#line 17597 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 44671 "SecParser.tab.cpp"
break;
case 1371: /* PREDCOUNTS_fun: naming PREDCOUNTS_fun_1 ZZDEFAULTSEP valueexpr */
#line 17603 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 44681 "SecParser.tab.cpp"
break;
case 1372: /* PREDCOUNTS_fun: PREDCOUNTS_fun_1 */
#line 17608 "SecParser.y"
{yyval = yyvsp[0];}
#line 44687 "SecParser.tab.cpp"
break;
case 1373: /* PREDCOUNTS_fun: PREDCOUNTS_fun_1 ZZDEFAULTSEP valueexpr */
#line 17610 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 44693 "SecParser.tab.cpp"
break;
case 1374: /* $@206: %empty */
#line 17617 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44706 "SecParser.tab.cpp"
break;
case 1375: /* PREDCOUNTS_fun_1: $@206 valueexpr */
#line 17626 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44725 "SecParser.tab.cpp"
break;
case 1376: /* PREDCOUNTS_fun_1: function */
#line 17640 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44731 "SecParser.tab.cpp"
break;
case 1377: /* PREDCOUNTS_funlist: PREDCOUNTS_funlist_1 */
#line 17648 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 44740 "SecParser.tab.cpp"
break;
case 1378: /* PREDCOUNTS_funlist_1: PREDCOUNTS_fun */
#line 17658 "SecParser.y"
{yyval = yyvsp[0];}
#line 44746 "SecParser.tab.cpp"
break;
case 1379: /* PREDCOUNTS_funlist_1: PREDCOUNTS_funlist_1 ',' PREDCOUNTS_fun */
#line 17660 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 44754 "SecParser.tab.cpp"
break;
case 1380: /* STPATTERNEXTEND_fun: naming STPATTERNEXTEND_fun_1 */
#line 17670 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 44764 "SecParser.tab.cpp"
break;
case 1381: /* STPATTERNEXTEND_fun: naming STPATTERNEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 17676 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 44774 "SecParser.tab.cpp"
break;
case 1382: /* STPATTERNEXTEND_fun: STPATTERNEXTEND_fun_1 */
#line 17681 "SecParser.y"
{yyval = yyvsp[0];}
#line 44780 "SecParser.tab.cpp"
break;
case 1383: /* STPATTERNEXTEND_fun: STPATTERNEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 17683 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 44786 "SecParser.tab.cpp"
break;
case 1384: /* $@207: %empty */
#line 17690 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44799 "SecParser.tab.cpp"
break;
case 1385: /* STPATTERNEXTEND_fun_1: $@207 valueexpr */
#line 17699 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44818 "SecParser.tab.cpp"
break;
case 1386: /* STPATTERNEXTEND_fun_1: function */
#line 17713 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44824 "SecParser.tab.cpp"
break;
case 1387: /* STPATTERNEXTEND_funlist: STPATTERNEXTEND_funlist_1 */
#line 17721 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 44833 "SecParser.tab.cpp"
break;
case 1388: /* STPATTERNEXTEND_funlist_1: STPATTERNEXTEND_fun */
#line 17731 "SecParser.y"
{yyval = yyvsp[0];}
#line 44839 "SecParser.tab.cpp"
break;
case 1389: /* STPATTERNEXTEND_funlist_1: STPATTERNEXTEND_funlist_1 ',' STPATTERNEXTEND_fun */
#line 17733 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 44847 "SecParser.tab.cpp"
break;
case 1390: /* STPATTERNEXTEND2_fun: naming STPATTERNEXTEND2_fun_1 */
#line 17743 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 44857 "SecParser.tab.cpp"
break;
case 1391: /* STPATTERNEXTEND2_fun: naming STPATTERNEXTEND2_fun_1 ZZDEFAULTSEP valueexpr */
#line 17749 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 44867 "SecParser.tab.cpp"
break;
case 1392: /* STPATTERNEXTEND2_fun: STPATTERNEXTEND2_fun_1 */
#line 17754 "SecParser.y"
{yyval = yyvsp[0];}
#line 44873 "SecParser.tab.cpp"
break;
case 1393: /* STPATTERNEXTEND2_fun: STPATTERNEXTEND2_fun_1 ZZDEFAULTSEP valueexpr */
#line 17756 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 44879 "SecParser.tab.cpp"
break;
case 1394: /* $@208: %empty */
#line 17763 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44892 "SecParser.tab.cpp"
break;
case 1395: /* STPATTERNEXTEND2_fun_1: $@208 valueexpr */
#line 17772 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 44911 "SecParser.tab.cpp"
break;
case 1396: /* STPATTERNEXTEND2_fun_1: function */
#line 17786 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 44917 "SecParser.tab.cpp"
break;
case 1397: /* STPATTERNEXTEND2_funlist: STPATTERNEXTEND2_funlist_1 */
#line 17794 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 44926 "SecParser.tab.cpp"
break;
case 1398: /* STPATTERNEXTEND2_funlist_1: STPATTERNEXTEND2_fun */
#line 17804 "SecParser.y"
{yyval = yyvsp[0];}
#line 44932 "SecParser.tab.cpp"
break;
case 1399: /* STPATTERNEXTEND2_funlist_1: STPATTERNEXTEND2_funlist_1 ',' STPATTERNEXTEND2_fun */
#line 17806 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 44940 "SecParser.tab.cpp"
break;
case 1400: /* STPATTERNEXEXTEND_fun: naming STPATTERNEXEXTEND_fun_1 */
#line 17816 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 44950 "SecParser.tab.cpp"
break;
case 1401: /* STPATTERNEXEXTEND_fun: naming STPATTERNEXEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 17822 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 44960 "SecParser.tab.cpp"
break;
case 1402: /* STPATTERNEXEXTEND_fun: STPATTERNEXEXTEND_fun_1 */
#line 17827 "SecParser.y"
{yyval = yyvsp[0];}
#line 44966 "SecParser.tab.cpp"
break;
case 1403: /* STPATTERNEXEXTEND_fun: STPATTERNEXEXTEND_fun_1 ZZDEFAULTSEP valueexpr */
#line 17829 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 44972 "SecParser.tab.cpp"
break;
case 1404: /* $@209: %empty */
#line 17836 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 44985 "SecParser.tab.cpp"
break;
case 1405: /* STPATTERNEXEXTEND_fun_1: $@209 valueexpr */
#line 17845 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45004 "SecParser.tab.cpp"
break;
case 1406: /* STPATTERNEXEXTEND_fun_1: function */
#line 17859 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45010 "SecParser.tab.cpp"
break;
case 1407: /* STPATTERNEXEXTEND_funlist: STPATTERNEXEXTEND_funlist_1 */
#line 17867 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 45019 "SecParser.tab.cpp"
break;
case 1408: /* STPATTERNEXEXTEND_funlist_1: STPATTERNEXEXTEND_fun */
#line 17877 "SecParser.y"
{yyval = yyvsp[0];}
#line 45025 "SecParser.tab.cpp"
break;
case 1409: /* STPATTERNEXEXTEND_funlist_1: STPATTERNEXEXTEND_funlist_1 ',' STPATTERNEXEXTEND_fun */
#line 17879 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 45033 "SecParser.tab.cpp"
break;
case 1410: /* STPATTERNEXEXTEND2_fun: naming STPATTERNEXEXTEND2_fun_1 */
#line 17889 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 45043 "SecParser.tab.cpp"
break;
case 1411: /* STPATTERNEXEXTEND2_fun: naming STPATTERNEXEXTEND2_fun_1 ZZDEFAULTSEP valueexpr */
#line 17895 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 45053 "SecParser.tab.cpp"
break;
case 1412: /* STPATTERNEXEXTEND2_fun: STPATTERNEXEXTEND2_fun_1 */
#line 17900 "SecParser.y"
{yyval = yyvsp[0];}
#line 45059 "SecParser.tab.cpp"
break;
case 1413: /* STPATTERNEXEXTEND2_fun: STPATTERNEXEXTEND2_fun_1 ZZDEFAULTSEP valueexpr */
#line 17902 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 45065 "SecParser.tab.cpp"
break;
case 1414: /* $@210: %empty */
#line 17909 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 45078 "SecParser.tab.cpp"
break;
case 1415: /* STPATTERNEXEXTEND2_fun_1: $@210 valueexpr */
#line 17918 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45097 "SecParser.tab.cpp"
break;
case 1416: /* STPATTERNEXEXTEND2_fun_1: function */
#line 17932 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45103 "SecParser.tab.cpp"
break;
case 1417: /* STPATTERNEXEXTEND2_funlist: STPATTERNEXEXTEND2_funlist_1 */
#line 17940 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 45112 "SecParser.tab.cpp"
break;
case 1418: /* STPATTERNEXEXTEND2_funlist_1: STPATTERNEXEXTEND2_fun */
#line 17950 "SecParser.y"
{yyval = yyvsp[0];}
#line 45118 "SecParser.tab.cpp"
break;
case 1419: /* STPATTERNEXEXTEND2_funlist_1: STPATTERNEXEXTEND2_funlist_1 ',' STPATTERNEXEXTEND2_fun */
#line 17952 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 45126 "SecParser.tab.cpp"
break;
case 1420: /* STPATTERNEXTENDSTREAM_fun: naming STPATTERNEXTENDSTREAM_fun_1 */
#line 17962 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 45136 "SecParser.tab.cpp"
break;
case 1421: /* STPATTERNEXTENDSTREAM_fun: naming STPATTERNEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 17968 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 45146 "SecParser.tab.cpp"
break;
case 1422: /* STPATTERNEXTENDSTREAM_fun: STPATTERNEXTENDSTREAM_fun_1 */
#line 17973 "SecParser.y"
{yyval = yyvsp[0];}
#line 45152 "SecParser.tab.cpp"
break;
case 1423: /* STPATTERNEXTENDSTREAM_fun: STPATTERNEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 17975 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 45158 "SecParser.tab.cpp"
break;
case 1424: /* $@211: %empty */
#line 17982 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 45171 "SecParser.tab.cpp"
break;
case 1425: /* STPATTERNEXTENDSTREAM_fun_1: $@211 valueexpr */
#line 17991 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45190 "SecParser.tab.cpp"
break;
case 1426: /* STPATTERNEXTENDSTREAM_fun_1: function */
#line 18005 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45196 "SecParser.tab.cpp"
break;
case 1427: /* STPATTERNEXTENDSTREAM_funlist: STPATTERNEXTENDSTREAM_funlist_1 */
#line 18013 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 45205 "SecParser.tab.cpp"
break;
case 1428: /* STPATTERNEXTENDSTREAM_funlist_1: STPATTERNEXTENDSTREAM_fun */
#line 18023 "SecParser.y"
{yyval = yyvsp[0];}
#line 45211 "SecParser.tab.cpp"
break;
case 1429: /* STPATTERNEXTENDSTREAM_funlist_1: STPATTERNEXTENDSTREAM_funlist_1 ',' STPATTERNEXTENDSTREAM_fun */
#line 18025 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 45219 "SecParser.tab.cpp"
break;
case 1430: /* STPATTERNEXTENDSTREAM2_fun: naming STPATTERNEXTENDSTREAM2_fun_1 */
#line 18035 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 45229 "SecParser.tab.cpp"
break;
case 1431: /* STPATTERNEXTENDSTREAM2_fun: naming STPATTERNEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr */
#line 18041 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 45239 "SecParser.tab.cpp"
break;
case 1432: /* STPATTERNEXTENDSTREAM2_fun: STPATTERNEXTENDSTREAM2_fun_1 */
#line 18046 "SecParser.y"
{yyval = yyvsp[0];}
#line 45245 "SecParser.tab.cpp"
break;
case 1433: /* STPATTERNEXTENDSTREAM2_fun: STPATTERNEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr */
#line 18048 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 45251 "SecParser.tab.cpp"
break;
case 1434: /* $@212: %empty */
#line 18055 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 45264 "SecParser.tab.cpp"
break;
case 1435: /* STPATTERNEXTENDSTREAM2_fun_1: $@212 valueexpr */
#line 18064 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45283 "SecParser.tab.cpp"
break;
case 1436: /* STPATTERNEXTENDSTREAM2_fun_1: function */
#line 18078 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45289 "SecParser.tab.cpp"
break;
case 1437: /* STPATTERNEXTENDSTREAM2_funlist: STPATTERNEXTENDSTREAM2_funlist_1 */
#line 18086 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 45298 "SecParser.tab.cpp"
break;
case 1438: /* STPATTERNEXTENDSTREAM2_funlist_1: STPATTERNEXTENDSTREAM2_fun */
#line 18096 "SecParser.y"
{yyval = yyvsp[0];}
#line 45304 "SecParser.tab.cpp"
break;
case 1439: /* STPATTERNEXTENDSTREAM2_funlist_1: STPATTERNEXTENDSTREAM2_funlist_1 ',' STPATTERNEXTENDSTREAM2_fun */
#line 18098 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 45312 "SecParser.tab.cpp"
break;
case 1440: /* STPATTERNEXEXTENDSTREAM_fun: naming STPATTERNEXEXTENDSTREAM_fun_1 */
#line 18108 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 45322 "SecParser.tab.cpp"
break;
case 1441: /* STPATTERNEXEXTENDSTREAM_fun: naming STPATTERNEXEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 18114 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 45332 "SecParser.tab.cpp"
break;
case 1442: /* STPATTERNEXEXTENDSTREAM_fun: STPATTERNEXEXTENDSTREAM_fun_1 */
#line 18119 "SecParser.y"
{yyval = yyvsp[0];}
#line 45338 "SecParser.tab.cpp"
break;
case 1443: /* STPATTERNEXEXTENDSTREAM_fun: STPATTERNEXEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr */
#line 18121 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 45344 "SecParser.tab.cpp"
break;
case 1444: /* $@213: %empty */
#line 18128 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 45357 "SecParser.tab.cpp"
break;
case 1445: /* STPATTERNEXEXTENDSTREAM_fun_1: $@213 valueexpr */
#line 18137 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45376 "SecParser.tab.cpp"
break;
case 1446: /* STPATTERNEXEXTENDSTREAM_fun_1: function */
#line 18151 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45382 "SecParser.tab.cpp"
break;
case 1447: /* STPATTERNEXEXTENDSTREAM_funlist: STPATTERNEXEXTENDSTREAM_funlist_1 */
#line 18159 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 45391 "SecParser.tab.cpp"
break;
case 1448: /* STPATTERNEXEXTENDSTREAM_funlist_1: STPATTERNEXEXTENDSTREAM_fun */
#line 18169 "SecParser.y"
{yyval = yyvsp[0];}
#line 45397 "SecParser.tab.cpp"
break;
case 1449: /* STPATTERNEXEXTENDSTREAM_funlist_1: STPATTERNEXEXTENDSTREAM_funlist_1 ',' STPATTERNEXEXTENDSTREAM_fun */
#line 18171 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 45405 "SecParser.tab.cpp"
break;
case 1450: /* STPATTERNEXEXTENDSTREAM2_fun: naming STPATTERNEXEXTENDSTREAM2_fun_1 */
#line 18181 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-1],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(")") ))));}
#line 45415 "SecParser.tab.cpp"
break;
case 1451: /* STPATTERNEXEXTENDSTREAM2_fun: naming STPATTERNEXEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr */
#line 18187 "SecParser.y"
{yyval = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat(yyvsp[-3],
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( yyvsp[0] , NestedText::AtomC(")") ))))));}
#line 45425 "SecParser.tab.cpp"
break;
case 1452: /* STPATTERNEXEXTENDSTREAM2_fun: STPATTERNEXEXTENDSTREAM2_fun_1 */
#line 18192 "SecParser.y"
{yyval = yyvsp[0];}
#line 45431 "SecParser.tab.cpp"
break;
case 1453: /* STPATTERNEXEXTENDSTREAM2_fun: STPATTERNEXEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr */
#line 18194 "SecParser.y"
{yyval = NestedText::Concat(yyvsp[-2], NestedText::Concat(NestedText::AtomC(" "), yyvsp[0])); }
#line 45437 "SecParser.tab.cpp"
break;
case 1454: /* $@214: %empty */
#line 18201 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 45450 "SecParser.tab.cpp"
break;
case 1455: /* STPATTERNEXEXTENDSTREAM2_fun_1: $@214 valueexpr */
#line 18210 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45469 "SecParser.tab.cpp"
break;
case 1456: /* STPATTERNEXEXTENDSTREAM2_fun_1: function */
#line 18224 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45475 "SecParser.tab.cpp"
break;
case 1457: /* STPATTERNEXEXTENDSTREAM2_funlist: STPATTERNEXEXTENDSTREAM2_funlist_1 */
#line 18232 "SecParser.y"
{ yyval=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat(yyvsp[0],
NestedText::AtomC(" ) ")));
}
#line 45484 "SecParser.tab.cpp"
break;
case 1458: /* STPATTERNEXEXTENDSTREAM2_funlist_1: STPATTERNEXEXTENDSTREAM2_fun */
#line 18242 "SecParser.y"
{yyval = yyvsp[0];}
#line 45490 "SecParser.tab.cpp"
break;
case 1459: /* STPATTERNEXEXTENDSTREAM2_funlist_1: STPATTERNEXEXTENDSTREAM2_funlist_1 ',' STPATTERNEXEXTENDSTREAM2_fun */
#line 18244 "SecParser.y"
{ yyval = NestedText::Concat(yyvsp[-2],
NestedText::Concat(NestedText::AtomC(" "), yyvsp[0]));
}
#line 45498 "SecParser.tab.cpp"
break;
case 1460: /* $@215: %empty */
#line 18253 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
#line 45511 "SecParser.tab.cpp"
break;
case 1461: /* REDUCE_fun: $@215 valueexpr */
#line 18262 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
#line 45530 "SecParser.tab.cpp"
break;
case 1462: /* REDUCE_fun: function */
#line 18276 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45536 "SecParser.tab.cpp"
break;
case 1463: /* $@216: %empty */
#line 18283 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 45554 "SecParser.tab.cpp"
break;
case 1464: /* TSMOTIFBFFUN_fun: $@216 valueexpr */
#line 18297 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 45580 "SecParser.tab.cpp"
break;
case 1465: /* TSMOTIFBFFUN_fun: function */
#line 18318 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45586 "SecParser.tab.cpp"
break;
case 1466: /* $@217: %empty */
#line 18325 "SecParser.y"
{
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
#line 45604 "SecParser.tab.cpp"
break;
case 1467: /* TSDISTANCEFUN_fun: $@217 valueexpr */
#line 18339 "SecParser.y"
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
yyval = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( yyvsp[0], NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
#line 45630 "SecParser.tab.cpp"
break;
case 1468: /* TSDISTANCEFUN_fun: function */
#line 18360 "SecParser.y"
{ yyval = yyvsp[0]; }
#line 45636 "SecParser.tab.cpp"
break;
#line 45640 "SecParser.tab.cpp"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
that yytoken be updated with the new translation. We take the
approach of translating immediately before every use of yytoken.
One alternative is translating here after every semantic action,
but that translation would be missed if the semantic action invokes
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
incorrect destructor might then be invoked immediately. In the
case of YYERROR or YYBACKUP, subsequent parser actions might lead
to an incorrect destructor call or verbose syntax error message
before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
YYPOPSTACK (yylen);
yylen = 0;
*++yyvsp = yyval;
*++yylsp = yyloc;
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
{
const int yylhs = yyr1[yyn] - YYNTOKENS;
const int yyi = yypgoto[yylhs] + *yyssp;
yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
? yytable[yyi]
: yydefgoto[yylhs]);
}
goto yynewstate;
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
yyerror (YY_("syntax error"));
}
yyerror_range[1] = yylloc;
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
{
/* Return failure if at end of input. */
if (yychar == YYEOF)
YYABORT;
}
else
{
yydestruct ("Error: discarding",
yytoken, &yylval, &yylloc);
yychar = YYEMPTY;
}
}
/* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
/* Pacify compilers when the user code never invokes YYERROR and the
label yyerrorlab therefore never appears in user code. */
if (0)
YYERROR;
++yynerrs;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
yystate = *yyssp;
goto yyerrlab1;
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
/* Pop stack until we find a state that shifts the error token. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
{
yyn += YYSYMBOL_YYerror;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
{
yyn = yytable[yyn];
if (0 < yyn)
break;
}
}
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
YYABORT;
yyerror_range[1] = *yylsp;
yydestruct ("Error: popping",
YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
yyerror_range[2] = yylloc;
++yylsp;
YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
/* Shift the error token. */
YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
yystate = yyn;
goto yynewstate;
/*-------------------------------------.
| yyacceptlab -- YYACCEPT comes here. |
`-------------------------------------*/
yyacceptlab:
yyresult = 0;
goto yyreturnlab;
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
yyabortlab:
yyresult = 1;
goto yyreturnlab;
/*-----------------------------------------------------------.
| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
`-----------------------------------------------------------*/
yyexhaustedlab:
yyerror (YY_("memory exhausted"));
yyresult = 2;
goto yyreturnlab;
/*----------------------------------------------------------.
| yyreturnlab -- parsing is finished, clean up and return. |
`----------------------------------------------------------*/
yyreturnlab:
if (yychar != YYEMPTY)
{
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = YYTRANSLATE (yychar);
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
}
/* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
return yyresult;
}
#line 18364 "SecParser.y"