Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
cb027cc5
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
Star
22019
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
cb027cc5
编写于
8月 15, 2023
作者:
W
wangjiaming0909
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: support alter table add column with comment
上级
dcbef83d
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
949 addition
and
857 deletion
+949
-857
include/common/tmsg.h
include/common/tmsg.h
+3
-0
include/libs/nodes/cmdnodes.h
include/libs/nodes/cmdnodes.h
+1
-0
source/libs/parser/inc/parAst.h
source/libs/parser/inc/parAst.h
+1
-2
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+4
-4
source/libs/parser/src/parAstCreater.c
source/libs/parser/src/parAstCreater.c
+5
-7
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+18
-0
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+876
-843
tests/system-test/0-others/show.py
tests/system-test/0-others/show.py
+41
-1
未找到文件。
include/common/tmsg.h
浏览文件 @
cb027cc5
...
...
@@ -2389,6 +2389,9 @@ typedef struct {
int8_t
type
;
int8_t
flags
;
int32_t
bytes
;
bool
hasColComment
;
char
*
colComment
;
int32_t
colCommentLen
;
// TSDB_ALTER_TABLE_DROP_COLUMN
// TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES
int8_t
colModType
;
...
...
include/libs/nodes/cmdnodes.h
浏览文件 @
cb027cc5
...
...
@@ -214,6 +214,7 @@ typedef struct SAlterTableStmt {
char
newColName
[
TSDB_COL_NAME_LEN
];
STableOptions
*
pOptions
;
SDataType
dataType
;
char
colComment
[
TSDB_COL_COMMENT_LEN
];
SValueNode
*
pVal
;
}
SAlterTableStmt
;
...
...
source/libs/parser/inc/parAst.h
浏览文件 @
cb027cc5
...
...
@@ -171,8 +171,7 @@ SNode* createDropTableClause(SAstCreateContext* pCxt, bool ignoreNotExists, SNod
SNode
*
createDropTableStmt
(
SAstCreateContext
*
pCxt
,
SNodeList
*
pTables
);
SNode
*
createDropSuperTableStmt
(
SAstCreateContext
*
pCxt
,
bool
ignoreNotExists
,
SNode
*
pRealTable
);
SNode
*
createAlterTableModifyOptions
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
SNode
*
pOptions
);
SNode
*
createAlterTableAddModifyCol
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
int8_t
alterType
,
SToken
*
pColName
,
SDataType
dataType
);
SNode
*
createAlterTableAddModifyCol
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
int8_t
alterType
,
SNode
*
pColDefNode
);
SNode
*
createAlterTableDropCol
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
int8_t
alterType
,
SToken
*
pColName
);
SNode
*
createAlterTableRenameCol
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
int8_t
alterType
,
SToken
*
pOldColName
,
SToken
*
pNewColName
);
...
...
source/libs/parser/inc/sql.y
浏览文件 @
cb027cc5
...
...
@@ -312,17 +312,17 @@ cmd ::= ALTER STABLE alter_table_clause(A).
alter_table_clause(A) ::= full_table_name(B) alter_table_options(C). { A = createAlterTableModifyOptions(pCxt, B, C); }
alter_table_clause(A) ::=
full_table_name(B) ADD COLUMN column_
name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_COLUMN, &C, D
); }
full_table_name(B) ADD COLUMN column_
def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_COLUMN, C
); }
alter_table_clause(A) ::= full_table_name(B) DROP COLUMN column_name(C). { A = createAlterTableDropCol(pCxt, B, TSDB_ALTER_TABLE_DROP_COLUMN, &C); }
alter_table_clause(A) ::=
full_table_name(B) MODIFY COLUMN column_
name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &C, D
); }
full_table_name(B) MODIFY COLUMN column_
def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, C
); }
alter_table_clause(A) ::=
full_table_name(B) RENAME COLUMN column_name(C) column_name(D). { A = createAlterTableRenameCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &C, &D); }
alter_table_clause(A) ::=
full_table_name(B) ADD TAG column_
name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_TAG, &C, D
); }
full_table_name(B) ADD TAG column_
def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_ADD_TAG, C
); }
alter_table_clause(A) ::= full_table_name(B) DROP TAG column_name(C). { A = createAlterTableDropCol(pCxt, B, TSDB_ALTER_TABLE_DROP_TAG, &C); }
alter_table_clause(A) ::=
full_table_name(B) MODIFY TAG column_
name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &C, D
); }
full_table_name(B) MODIFY TAG column_
def(C). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, C
); }
alter_table_clause(A) ::=
full_table_name(B) RENAME TAG column_name(C) column_name(D). { A = createAlterTableRenameCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &C, &D); }
alter_table_clause(A) ::=
...
...
source/libs/parser/src/parAstCreater.c
浏览文件 @
cb027cc5
...
...
@@ -1333,17 +1333,15 @@ SNode* createAlterTableModifyOptions(SAstCreateContext* pCxt, SNode* pRealTable,
return
createAlterTableStmtFinalize
(
pRealTable
,
pStmt
);
}
SNode
*
createAlterTableAddModifyCol
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
int8_t
alterType
,
SToken
*
pColName
,
SDataType
dataType
)
{
SNode
*
createAlterTableAddModifyCol
(
SAstCreateContext
*
pCxt
,
SNode
*
pRealTable
,
int8_t
alterType
,
SNode
*
pColDefNode
)
{
CHECK_PARSER_STATUS
(
pCxt
);
if
(
!
checkColumnName
(
pCxt
,
pColName
))
{
return
NULL
;
}
SColumnDefNode
*
pCol
=
(
SColumnDefNode
*
)
pColDefNode
;
SAlterTableStmt
*
pStmt
=
(
SAlterTableStmt
*
)
nodesMakeNode
(
QUERY_NODE_ALTER_TABLE_STMT
);
CHECK_OUT_OF_MEM
(
pStmt
);
pStmt
->
alterType
=
alterType
;
COPY_STRING_FORM_ID_TOKEN
(
pStmt
->
colName
,
pColName
);
pStmt
->
dataType
=
dataType
;
strcpy
(
pStmt
->
colName
,
pCol
->
colName
);
strcpy
(
pStmt
->
colComment
,
pCol
->
comments
);
pStmt
->
dataType
=
pCol
->
dataType
;
return
createAlterTableStmtFinalize
(
pRealTable
,
pStmt
);
}
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
cb027cc5
...
...
@@ -8863,6 +8863,15 @@ static int32_t buildAddColReq(STranslateContext* pCxt, SAlterTableStmt* pStmt, S
pReq
->
type
=
pStmt
->
dataType
.
type
;
pReq
->
flags
=
COL_SMA_ON
;
pReq
->
bytes
=
calcTypeBytes
(
pStmt
->
dataType
);
if
(
pStmt
->
colComment
[
0
])
{
pReq
->
colComment
=
taosStrdup
(
pStmt
->
colComment
);
if
(
pReq
->
colComment
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
pReq
->
colCommentLen
=
strlen
(
pReq
->
colComment
);
}
else
{
pReq
->
colCommentLen
=
-
1
;
}
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -8913,6 +8922,15 @@ static int32_t buildUpdateColReq(STranslateContext* pCxt, SAlterTableStmt* pStmt
return
TSDB_CODE_OUT_OF_MEMORY
;
}
pReq
->
colId
=
pSchema
->
colId
;
if
(
pStmt
->
colComment
[
0
])
{
pReq
->
colComment
=
taosStrdup
(
pStmt
->
colComment
);
if
(
pReq
->
colComment
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
pReq
->
colCommentLen
=
strlen
(
pReq
->
colComment
);
}
else
{
pReq
->
colCommentLen
=
-
1
;
}
return
TSDB_CODE_SUCCESS
;
}
...
...
source/libs/parser/src/sql.c
浏览文件 @
cb027cc5
/* This file is automatically generated by Lemon from input grammar
** source file "
./
sql.y". */
** source file "sql.y". */
/*
** 2000-05-29
**
...
...
@@ -134,18 +134,18 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE
802
#define YYNSTATE
798
#define YYNRULE 601
#define YYNRULE_WITH_ACTION 601
#define YYNTOKEN 338
#define YY_MAX_SHIFT
801
#define YY_MIN_SHIFTREDUCE 11
82
#define YY_MAX_SHIFTREDUCE 17
82
#define YY_ERROR_ACTION 17
83
#define YY_ACCEPT_ACTION 178
4
#define YY_NO_ACTION 178
5
#define YY_MIN_REDUCE 178
6
#define YY_MAX_REDUCE 238
6
#define YY_MAX_SHIFT
797
#define YY_MIN_SHIFTREDUCE 11
78
#define YY_MAX_SHIFTREDUCE 17
78
#define YY_ERROR_ACTION 17
79
#define YY_ACCEPT_ACTION 178
0
#define YY_NO_ACTION 178
1
#define YY_MIN_REDUCE 178
2
#define YY_MAX_REDUCE 238
2
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -212,600 +212,618 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (
2858
)
#define YY_ACTTAB_COUNT (
3033
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
1952
,
2197
,
2175
,
2086
,
221
,
690
,
1963
,
2158
,
537
,
184
,
/* 10 */
1829
,
670
,
48
,
46
,
1709
,
394
,
2183
,
1215
,
2083
,
677
,
/* 20 */
401
,
2004
,
1558
,
41
,
40
,
135
,
2179
,
47
,
45
,
44
,
/* 30 */
43
,
42
,
574
,
1639
,
453
,
1556
,
2175
,
539
,
689
,
2215
,
/* 40 */
41
,
40
,
1784
,
536
,
47
,
45
,
44
,
43
,
42
,
689
,
/* 50 */
1954
,
2165
,
1948
,
706
,
630
,
531
,
1217
,
2357
,
1220
,
1221
,
/* 60 */
2179
,
181
,
1634
,
529
,
2181
,
398
,
525
,
521
,
19
,
1240
,
/* 70 */
66
,
1239
,
2363
,
188
,
700
,
1564
,
30
,
2358
,
656
,
348
,
/* 80 */
168
,
369
,
2069
,
361
,
140
,
690
,
1963
,
2196
,
1904
,
2232
,
/* 90 */
667
,
144
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
2181
,
700
,
/* 100 */
798
,
1939
,
1241
,
15
,
185
,
135
,
2285
,
169
,
700
,
1798
,
/* 110 */
397
,
2281
,
579
,
1583
,
2086
,
416
,
48
,
46
,
2017
,
2362
,
/* 120 */
415
,
51
,
2357
,
190
,
401
,
382
,
1558
,
1668
,
1374
,
2084
,
/* 130 */
677
,
2311
,
51
,
2015
,
690
,
1963
,
1749
,
1639
,
2361
,
1556
,
/* 140 */
1641
,
1642
,
2358
,
2360
,
1365
,
735
,
734
,
733
,
1369
,
732
,
/* 150 */
1371
,
1372
,
731
,
728
,
193
,
1380
,
725
,
1382
,
1383
,
722
,
/* 160 */
719
,
716
,
630
,
1584
,
655
,
2357
,
1634
,
2357
,
747
,
62
,
/* 170 */
1614
,
1624
,
19
,
457
,
2065
,
109
,
1640
,
1643
,
689
,
1564
,
/* 180 */
2363
,
188
,
654
,
188
,
1669
,
2358
,
656
,
2358
,
656
,
38
,
/* 190 */
306
,
1559
,
145
,
1557
,
286
,
2293
,
666
,
2362
,
136
,
665
,
/* 200 */
1955
,
2357
,
14
,
13
,
798
,
41
,
40
,
15
,
2197
,
47
,
/* 210 */
45
,
44
,
43
,
42
,
1585
,
675
,
654
,
188
,
707
,
1317
,
/* 220 */
202
,
2358
,
656
,
1562
,
1563
,
1786
,
1613
,
1616
,
1617
,
1618
,
/* 230 */
1619
,
1620
,
1621
,
1622
,
1623
,
702
,
698
,
1632
,
1633
,
1635
,
/* 240 */
1636
,
1637
,
1638
,
2
,
1641
,
1642
,
2215
,
2011
,
2012
,
134
,
/* 250 */
133
,
132
,
131
,
130
,
129
,
128
,
127
,
126
,
2165
,
1319
,
/* 260 */
706
,
1787
,
37
,
399
,
1663
,
1664
,
1665
,
1666
,
1667
,
1671
,
/* 270 */
1672
,
1673
,
1674
,
534
,
1614
,
1624
,
535
,
1822
,
191
,
1583
,
/* 280 */
1640
,
1643
,
125
,
1484
,
1485
,
124
,
123
,
122
,
121
,
120
,
/* 290 */
119
,
118
,
117
,
116
,
2196
,
1559
,
2232
,
1557
,
1772
,
112
,
/* 300 */
2198
,
710
,
2200
,
2201
,
705
,
1682
,
700
,
2048
,
395
,
147
,
/* 310 */
551
,
151
,
2256
,
2285
,
1584
,
2197
,
166
,
397
,
2281
,
1483
,
/* 320 */
1486
,
1809
,
667
,
144
,
1965
,
670
,
191
,
1562
,
1563
,
650
,
/* 330 */
1613
,
1616
,
1617
,
1618
,
1619
,
1620
,
1621
,
1622
,
1623
,
702
,
/* 340 */
698
,
1632
,
1633
,
1635
,
1636
,
1637
,
1638
,
2
,
12
,
48
,
/* 350 */
46
,
1583
,
1808
,
2215
,
2017
,
410
,
409
,
401
,
108
,
1558
,
/* 360 */
2362
,
367
,
62
,
2357
,
2300
,
2165
,
288
,
706
,
105
,
2015
,
/* 370 */
1639
,
2165
,
1556
,
592
,
591
,
590
,
690
,
1963
,
1565
,
2361
,
/* 380 */
582
,
141
,
586
,
2358
,
2359
,
542
,
585
,
649
,
535
,
1822
,
/* 390 */
2297
,
584
,
589
,
377
,
376
,
2130
,
56
,
583
,
615
,
1634
,
/* 400 */
252
,
2196
,
2165
,
2232
,
251
,
19
,
112
,
2198
,
710
,
2200
,
/* 410 */
2201
,
705
,
1564
,
700
,
253
,
2215
,
297
,
298
,
185
,
406
,
/* 420 */
2285
,
296
,
2010
,
2012
,
397
,
2281
,
187
,
2293
,
2294
,
2197
,
/* 430 */
142
,
2298
,
1807
,
655
,
1409
,
1410
,
2357
,
798
,
578
,
707
,
/* 440 */
15
,
1831
,
41
,
40
,
254
,
2312
,
47
,
45
,
44
,
43
,
/* 450 */
42
,
654
,
188
,
48
,
46
,
1644
,
2358
,
656
,
223
,
2197
,
/* 460 */
577
,
401
,
537
,
1558
,
1829
,
93
,
475
,
2215
,
356
,
707
,
/* 470 */
648
,
381
,
2300
,
608
,
1639
,
474
,
1556
,
1641
,
1642
,
2165
,
/* 480 */
103
,
706
,
2165
,
125
,
1529
,
1530
,
124
,
123
,
122
,
121
,
/* 490 */
120
,
119
,
118
,
117
,
116
,
12
,
62
,
2215
,
2296
,
667
,
/* 500 */
144
,
1467
,
1468
,
1634
,
676
,
1956
,
1713
,
1614
,
1624
,
2165
,
/* 510 */
404
,
706
,
1583
,
1640
,
1643
,
2196
,
1564
,
2232
,
166
,
191
,
/* 520 */
112
,
2198
,
710
,
2200
,
2201
,
705
,
1965
,
700
,
1559
,
1564
,
/* 530 */
1557
,
62
,
2377
,
606
,
2285
,
12
,
1568
,
10
,
397
,
2281
,
/* 540 */
747
,
798
,
690
,
1963
,
49
,
2196
,
604
,
2232
,
602
,
2197
,
/* 550 */
170
,
2198
,
710
,
2200
,
2201
,
705
,
549
,
700
,
2079
,
707
,
/* 560 */
1562
,
1563
,
451
,
1613
,
1616
,
1617
,
1618
,
1619
,
1620
,
1621
,
/* 570 */
1622
,
1623
,
702
,
698
,
1632
,
1633
,
1635
,
1636
,
1637
,
1638
,
/* 580 */
2
,
1641
,
1642
,
445
,
1585
,
444
,
1806
,
2215
,
41
,
40
,
/* 590 */
631
,
2322
,
47
,
45
,
44
,
43
,
42
,
738
,
1805
,
2165
,
/* 600 */
1586
,
706
,
669
,
186
,
2293
,
2294
,
165
,
142
,
2298
,
2017
,
/* 610 */
1832
,
1614
,
1624
,
690
,
1963
,
443
,
391
,
1640
,
1643
,
463
,
/* 620 */
2065
,
41
,
40
,
404
,
2015
,
47
,
45
,
44
,
43
,
42
,
/* 630 */
2300
,
163
,
1559
,
452
,
1557
,
2196
,
2165
,
2232
,
383
,
1965
,
/* 640 */
112
,
2198
,
710
,
2200
,
2201
,
705
,
2015
,
700
,
2165
,
2186
,
/* 650 */
447
,
2197
,
2260
,
191
,
2285
,
446
,
2295
,
2159
,
397
,
2281
,
/* 660 */
793
,
707
,
1615
,
2319
,
1562
,
1563
,
205
,
1613
,
1616
,
1617
,
/* 670 */
1618
,
1619
,
1620
,
1621
,
1622
,
1623
,
702
,
698
,
1632
,
1633
,
/* 680 */
1635
,
1636
,
1637
,
1638
,
2
,
48
,
46
,
1940
,
191
,
2215
,
/* 690 */
745
,
490
,
2065
,
401
,
757
,
1558
,
645
,
630
,
690
,
1963
,
/* 700 */
2357
,
2165
,
435
,
706
,
630
,
2188
,
1639
,
2357
,
1556
,
156
,
/* 710 */
155
,
742
,
741
,
740
,
153
,
2363
,
188
,
692
,
465
,
2257
,
/* 720 */
2358
,
656
,
2363
,
188
,
44
,
43
,
42
,
2358
,
656
,
437
,
/* 730 */
433
,
1737
,
497
,
690
,
1963
,
1634
,
288
,
2196
,
210
,
2232
,
/* 740 */
597
,
1950
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
1564
,
700
,
/* 750 */
690
,
1963
,
266
,
480
,
2377
,
607
,
2285
,
1865
,
41
,
40
,
/* 760 */
397
,
2281
,
47
,
45
,
44
,
43
,
42
,
2197
,
1649
,
250
,
/* 770 */
481
,
690
,
1963
,
798
,
1583
,
207
,
49
,
704
,
642
,
641
,
/* 780 */
1735
,
1736
,
1738
,
1739
,
1740
,
600
,
651
,
646
,
639
,
48
,
/* 790 */
46
,
550
,
594
,
212
,
211
,
407
,
1779
,
401
,
249
,
1558
,
/* 800 */
690
,
1963
,
745
,
166
,
52
,
2215
,
1938
,
1804
,
570
,
569
,
/* 810 */
1639
,
1965
,
1556
,
1641
,
1642
,
86
,
496
,
2165
,
85
,
706
,
/* 820 */
1960
,
156
,
155
,
742
,
741
,
740
,
153
,
592
,
591
,
590
,
/* 830 */
667
,
144
,
629
,
262
,
582
,
141
,
586
,
1583
,
70
,
1634
,
/* 840 */
585
,
69
,
1905
,
1614
,
1624
,
584
,
589
,
377
,
376
,
1640
,
/* 850 */
1643
,
583
,
1564
,
2196
,
1748
,
2232
,
1946
,
2165
,
342
,
2198
,
/* 860 */
710
,
2200
,
2201
,
705
,
1559
,
700
,
1557
,
2251
,
41
,
40
,
/* 870 */
690
,
1963
,
47
,
45
,
44
,
43
,
42
,
798
,
1803
,
737
,
/* 880 */
15
,
2197
,
47
,
45
,
44
,
43
,
42
,
1243
,
1244
,
1223
,
/* 890 */
255
,
707
,
1240
,
2332
,
1239
,
1582
,
1562
,
1563
,
1778
,
1613
,
/* 900 */
1616
,
1617
,
1618
,
1619
,
1620
,
1621
,
1622
,
1623
,
702
,
698
,
/* 910 */
1632
,
1633
,
1635
,
1636
,
1637
,
1638
,
2
,
1641
,
1642
,
2215
,
/* 920 */
90
,
745
,
572
,
571
,
1615
,
1241
,
676
,
2361
,
2165
,
690
,
/* 930 */
1963
,
2165
,
259
,
706
,
189
,
2293
,
2294
,
371
,
142
,
2298
,
/* 940 */
156
,
155
,
742
,
741
,
740
,
153
,
1958
,
1614
,
1624
,
263
,
/* 950 */
701
,
690
,
1963
,
1640
,
1643
,
2325
,
60
,
588
,
587
,
1706
,
/* 960 */
181
,
191
,
1670
,
627
,
1725
,
690
,
1963
,
2196
,
1559
,
2232
,
/* 970 */
1557
,
673
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
674
,
700
,
/* 980 */
2079
,
2070
,
34
,
1802
,
2377
,
301
,
2285
,
1615
,
41
,
40
,
/* 990 */
397
,
2281
,
47
,
45
,
44
,
43
,
42
,
676
,
769
,
767
,
/* 1000 */
1562
,
1563
,
1862
,
1613
,
1616
,
1617
,
1618
,
1619
,
1620
,
1621
,
/* 1010 */
1622
,
1623
,
702
,
698
,
1632
,
1633
,
1635
,
1636
,
1637
,
1638
,
/* 1020 */
2
,
2148
,
352
,
167
,
1581
,
690
,
1963
,
1801
,
327
,
9
,
/* 1030 */
694
,
488
,
2257
,
2165
,
504
,
90
,
146
,
503
,
2175
,
2256
,
/* 1040 */
35
,
739
,
324
,
73
,
2008
,
687
,
72
,
690
,
1963
,
685
,
/* 1050 */
1675
,
2079
,
2184
,
471
,
613
,
505
,
166
,
349
,
1586
,
1586
,
/* 1060 */
473
,
1959
,
2179
,
1800
,
1966
,
1797
,
1796
,
688
,
219
,
516
,
/* 1070 */
514
,
511
,
775
,
774
,
773
,
772
,
413
,
2165
,
771
,
770
,
/* 1080 */
148
,
765
,
764
,
763
,
762
,
761
,
760
,
759
,
158
,
755
,
/* 1090 */
754
,
753
,
412
,
411
,
750
,
749
,
748
,
176
,
175
,
1328
,
/* 1100 */
2181
,
630
,
690
,
1963
,
2357
,
580
,
370
,
237
,
62
,
374
,
/* 1110 */
700
,
2017
,
1327
,
2165
,
2017
,
2165
,
2165
,
1332
,
459
,
2363
,
/* 1120 */
188
,
396
,
307
,
173
,
2358
,
656
,
2016
,
1315
,
2017
,
2015
,
/* 1130 */
1331
,
568
,
564
,
560
,
556
,
405
,
236
,
320
,
758
,
743
,
/* 1140 */
1994
,
1925
,
2008
,
2015
,
1795
,
662
,
1794
,
111
,
501
,
1793
,
/* 1150 */
659
,
495
,
494
,
493
,
492
,
487
,
486
,
485
,
484
,
483
,
/* 1160 */
479
,
478
,
477
,
476
,
351
,
468
,
467
,
466
,
1792
,
461
,
/* 1170 */
460
,
368
,
690
,
1963
,
1220
,
1221
,
91
,
506
,
375
,
234
,
/* 1180 */
373
,
372
,
54
,
576
,
3
,
1791
,
1790
,
578
,
81
,
80
,
/* 1190 */
450
,
2197
,
408
,
200
,
2165
,
508
,
2165
,
2305
,
1702
,
2165
,
/* 1200 */
1789
,
707
,
744
,
637
,
658
,
2008
,
442
,
440
,
2151
,
577
,
/* 1210 */
203
,
265
,
83
,
74
,
137
,
154
,
1705
,
350
,
2165
,
610
,
/* 1220 */
431
,
609
,
2197
,
429
,
425
,
421
,
418
,
443
,
154
,
2215
,
/* 1230 */
242
,
454
,
707
,
240
,
2350
,
2165
,
2165
,
1941
,
430
,
244
,
/* 1240 */
697
,
2165
,
243
,
706
,
455
,
581
,
1849
,
233
,
227
,
1702
,
/* 1250 */
2165
,
1799
,
2197
,
1274
,
232
,
547
,
246
,
423
,
1840
,
245
,
/* 1260 */
2215
,
154
,
707
,
84
,
2304
,
191
,
248
,
1313
,
593
,
247
,
/* 1270 */
1838
,
1567
,
2165
,
225
,
706
,
55
,
264
,
2196
,
643
,
2232
,
/* 1280 */
595
,
149
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
1524
,
700
,
/* 1290 */
2215
,
50
,
598
,
1275
,
2377
,
1566
,
2285
,
1781
,
1782
,
50
,
/* 1300 */
397
,
2281
,
2165
,
283
,
706
,
139
,
270
,
154
,
2196
,
277
,
/* 1310 */
2232
,
1903
,
1902
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
94
,
/* 1320 */
700
,
1527
,
50
,
384
,
1558
,
2377
,
294
,
2285
,
2216
,
71
,
/* 1330 */
152
,
397
,
2281
,
154
,
14
,
13
,
64
,
1556
,
2196
,
50
,
/* 1340 */
2232
,
414
,
2197
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
50
,
/* 1350 */
700
,
1734
,
707
,
410
,
409
,
2377
,
751
,
2285
,
36
,
1733
,
/* 1360 */
2074
,
397
,
2281
,
1572
,
41
,
40
,
272
,
672
,
47
,
45
,
/* 1370 */
44
,
43
,
42
,
2197
,
1639
,
1823
,
1565
,
1564
,
1293
,
714
,
/* 1380 */
2215
,
1828
,
1481
,
707
,
152
,
663
,
299
,
2005
,
660
,
682
,
/* 1390 */
303
,
752
,
2165
,
1358
,
706
,
1660
,
1676
,
154
,
138
,
1625
,
/* 1400 */
2315
,
668
,
798
,
1634
,
285
,
282
,
5
,
417
,
1
,
319
,
/* 1410 */
2197
,
2215
,
152
,
1291
,
422
,
1589
,
1564
,
365
,
438
,
439
,
/* 1420 */
707
,
196
,
195
,
2165
,
441
,
706
,
198
,
1505
,
2196
,
1570
,
/* 1430 */
2232
,
314
,
456
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
1387
,
/* 1440 */
700
,
696
,
1582
,
209
,
1391
,
2258
,
458
,
2285
,
2215
,
1586
,
/* 1450 */
2075
,
397
,
2281
,
1569
,
462
,
464
,
499
,
1398
,
1396
,
2196
,
/* 1460 */
2165
,
2232
,
706
,
1581
,
112
,
2198
,
710
,
2200
,
2201
,
705
,
/* 1470 */
482
,
700
,
157
,
489
,
469
,
2067
,
693
,
491
,
2285
,
498
,
/* 1480 */
500
,
509
,
397
,
2281
,
510
,
507
,
213
,
214
,
512
,
513
,
/* 1490 */
1587
,
671
,
216
,
1559
,
532
,
1557
,
2196
,
515
,
2232
,
2197
,
/* 1500 */
517
,
113
,
2198
,
710
,
2200
,
2201
,
705
,
4
,
700
,
707
,
/* 1510 */
533
,
540
,
541
,
224
,
543
,
2285
,
1584
,
1588
,
545
,
2284
,
/* 1520 */
2281
,
226
,
1590
,
544
,
546
,
1562
,
1563
,
548
,
229
,
552
,
/* 1530 */
573
,
575
,
1573
,
231
,
1568
,
88
,
89
,
2215
,
630
,
235
,
/* 1540 */
1953
,
2357
,
355
,
239
,
114
,
92
,
1949
,
2139
,
2197
,
2165
,
/* 1550 */
150
,
706
,
241
,
256
,
612
,
618
,
2363
,
188
,
707
,
614
,
/* 1560 */
159
,
2358
,
656
,
619
,
1576
,
1578
,
315
,
160
,
1951
,
1947
,
/* 1570 */
161
,
162
,
617
,
2136
,
2197
,
625
,
2135
,
698
,
1632
,
1633
,
/* 1580 */
1635
,
1636
,
1637
,
1638
,
704
,
2196
,
2215
,
2232
,
622
,
1512
,
/* 1590 */
113
,
2198
,
710
,
2200
,
2201
,
705
,
260
,
700
,
2165
,
644
,
/* 1600 */
706
,
2316
,
258
,
2326
,
2285
,
2331
,
634
,
680
,
695
,
2281
,
/* 1610 */
624
,
623
,
2215
,
640
,
387
,
2330
,
268
,
271
,
647
,
8
,
/* 1620 */
653
,
2380
,
174
,
2307
,
2165
,
2197
,
706
,
635
,
633
,
276
,
/* 1630 */
632
,
281
,
664
,
388
,
708
,
707
,
2232
,
1585
,
2197
,
113
,
/* 1640 */
2198
,
710
,
2200
,
2201
,
705
,
661
,
700
,
1702
,
707
,
143
,
/* 1650 */
289
,
2301
,
278
,
2285
,
1591
,
178
,
98
,
360
,
2281
,
316
,
/* 1660 */
2196
,
280
,
2232
,
2215
,
678
,
342
,
2198
,
710
,
2200
,
2201
,
/* 1670 */
705
,
703
,
700
,
691
,
2250
,
2165
,
2215
,
706
,
279
,
2080
,
/* 1680 */
317
,
2356
,
284
,
683
,
684
,
679
,
100
,
2197
,
2165
,
318
,
/* 1690 */
706
,
2094
,
2093
,
102
,
61
,
2092
,
1964
,
707
,
393
,
2266
,
/* 1700 */
104
,
712
,
2009
,
1926
,
2197
,
321
,
794
,
2157
,
310
,
325
,
/* 1710 */
795
,
2196
,
797
,
2232
,
707
,
357
,
171
,
2198
,
710
,
2200
,
/* 1720 */
2201
,
705
,
358
,
700
,
2196
,
2215
,
2232
,
53
,
345
,
113
,
/* 1730 */
2198
,
710
,
2200
,
2201
,
705
,
330
,
700
,
2165
,
2156
,
706
,
/* 1740 */
323
,
2155
,
2215
,
2285
,
344
,
334
,
78
,
385
,
2282
,
2152
,
/* 1750 */
419
,
420
,
1549
,
2197
,
2165
,
1550
,
706
,
194
,
424
,
2150
,
/* 1760 */
426
,
427
,
428
,
707
,
2149
,
366
,
2147
,
657
,
2378
,
432
,
/* 1770 */
2146
,
2145
,
434
,
2196
,
436
,
2232
,
1540
,
2197
,
170
,
2198
,
/* 1780 */
710
,
2200
,
2201
,
705
,
2126
,
700
,
197
,
707
,
2125
,
199
,
/* 1790 */
2196
,
2215
,
2232
,
79
,
1508
,
343
,
2198
,
710
,
2200
,
2201
,
/* 1800 */
705
,
1507
,
700
,
2165
,
2197
,
706
,
2107
,
2106
,
2105
,
448
,
/* 1810 */
449
,
2104
,
2103
,
2058
,
707
,
2215
,
1458
,
2057
,
2054
,
2323
,
/* 1820 */
386
,
201
,
2053
,
82
,
2197
,
2052
,
2051
,
2165
,
2056
,
706
,
/* 1830 */
204
,
2055
,
2050
,
2049
,
707
,
2047
,
2046
,
2045
,
206
,
2196
,
/* 1840 */
470
,
2232
,
2215
,
2044
,
336
,
2198
,
710
,
2200
,
2201
,
705
,
/* 1850 */
472
,
700
,
2060
,
2043
,
2165
,
2042
,
706
,
2041
,
2040
,
2039
,
/* 1860 */
2038
,
2037
,
2215
,
2196
,
2036
,
2232
,
2035
,
392
,
343
,
2198
,
/* 1870 */
710
,
2200
,
2201
,
705
,
2165
,
700
,
706
,
208
,
2028
,
2027
,
/* 1880 */
87
,
2026
,
2025
,
2059
,
2024
,
2023
,
215
,
652
,
2034
,
2033
,
/* 1890 */
2196
,
2197
,
2232
,
2032
,
2031
,
171
,
2198
,
710
,
2200
,
2201
,
/* 1900 */
705
,
707
,
700
,
2030
,
2029
,
2022
,
2021
,
2020
,
1460
,
2019
,
/* 1910 */
2196
,
502
,
2232
,
2018
,
1329
,
343
,
2198
,
710
,
2200
,
2201
,
/* 1920 */
705
,
2197
,
700
,
353
,
354
,
1868
,
1325
,
1867
,
1866
,
2215
,
/* 1930 */
1333
,
707
,
217
,
218
,
400
,
1864
,
1861
,
520
,
1860
,
519
,
/* 1940 */
524
,
2165
,
1853
,
706
,
523
,
518
,
522
,
2379
,
527
,
526
,
/* 1950 */
1842
,
528
,
530
,
1818
,
1222
,
76
,
1817
,
220
,
2124
,
2215
,
/* 1960 */
2114
,
77
,
182
,
222
,
402
,
2102
,
2185
,
183
,
538
,
228
,
/* 1970 */
2101
,
2165
,
230
,
706
,
553
,
554
,
555
,
2196
,
2078
,
2232
,
/* 1980 */
2197
,
1942
,
343
,
2198
,
710
,
2200
,
2201
,
705
,
616
,
700
,
/* 1990 */
707
,
1863
,
1859
,
1267
,
1857
,
558
,
557
,
1855
,
559
,
561
,
/* 2000 */
562
,
563
,
1852
,
565
,
566
,
567
,
801
,
2196
,
1837
,
2232
,
/* 2010 */
1835
,
1836
,
343
,
2198
,
710
,
2200
,
2201
,
705
,
2215
,
700
,
/* 2020 */
313
,
1834
,
1814
,
1944
,
1943
,
1403
,
1402
,
766
,
1316
,
768
,
/* 2030 */
2165
,
1314
,
706
,
1312
,
1311
,
1310
,
180
,
1850
,
1309
,
1303
,
/* 2040 */
1308
,
63
,
238
,
1841
,
791
,
787
,
783
,
779
,
1305
,
311
,
/* 2050 */
1304
,
1302
,
378
,
2197
,
379
,
1839
,
380
,
596
,
1813
,
1812
,
/* 2060 */
599
,
601
,
603
,
707
,
1811
,
2123
,
611
,
605
,
2232
,
115
,
/* 2070 */
1534
,
338
,
2198
,
710
,
2200
,
2201
,
705
,
1536
,
700
,
1533
,
/* 2080 */
1538
,
1514
,
29
,
67
,
2197
,
1518
,
2113
,
2100
,
1516
,
110
,
/* 2090 */
164
,
2215
,
304
,
620
,
707
,
2099
,
2362
,
20
,
17
,
1751
,
/* 2100 */
6
,
21
,
65
,
2165
,
31
,
706
,
57
,
261
,
7
,
626
,
/* 2110 */
275
,
638
,
267
,
621
,
22
,
1493
,
1492
,
274
,
269
,
2197
,
/* 2120 */
636
,
172
,
2215
,
628
,
1732
,
686
,
2186
,
33
,
24
,
707
,
/* 2130 */
58
,
273
,
32
,
23
,
2165
,
1724
,
706
,
1771
,
18
,
2196
,
/* 2140 */
1772
,
2232
,
95
,
1766
,
328
,
2198
,
710
,
2200
,
2201
,
705
,
/* 2150 */
1765
,
700
,
389
,
1770
,
1769
,
390
,
2197
,
2215
,
287
,
177
,
/* 2160 */
291
,
2098
,
2077
,
292
,
97
,
1699
,
707
,
290
,
59
,
2165
,
/* 2170 */
2196
,
706
,
2232
,
1698
,
2076
,
326
,
2198
,
710
,
2200
,
2201
,
/* 2180 */
705
,
2197
,
700
,
96
,
25
,
295
,
257
,
99
,
105
,
293
,
/* 2190 */
305
,
707
,
1730
,
300
,
2215
,
68
,
26
,
101
,
1651
,
11
,
/* 2200 */
13
,
1650
,
1574
,
179
,
2235
,
2196
,
2165
,
2232
,
706
,
1661
,
/* 2210 */
329
,
2198
,
710
,
2200
,
2201
,
705
,
681
,
700
,
2197
,
2215
,
/* 2220 */
302
,
1606
,
192
,
711
,
713
,
1629
,
1627
,
403
,
707
,
699
,
/* 2230 */
39
,
2165
,
1626
,
706
,
16
,
27
,
717
,
1598
,
28
,
720
,
/* 2240 */
1388
,
715
,
2196
,
2197
,
2232
,
1385
,
1384
,
335
,
2198
,
710
,
/* 2250 */
2200
,
2201
,
705
,
707
,
700
,
1381
,
2215
,
718
,
721
,
723
,
/* 2260 */
724
,
726
,
1375
,
709
,
1373
,
729
,
727
,
2196
,
2165
,
2232
,
/* 2270 */
706
,
730
,
339
,
2198
,
710
,
2200
,
2201
,
705
,
1364
,
700
,
/* 2280 */
106
,
2215
,
736
,
308
,
107
,
1379
,
1397
,
75
,
1393
,
1265
,
/* 2290 */
1378
,
1377
,
1376
,
2165
,
1297
,
706
,
746
,
1296
,
1295
,
1294
,
/* 2300 */
1292
,
309
,
1290
,
1289
,
2196
,
1288
,
2232
,
1323
,
756
,
331
,
/* 2310 */
2198
,
710
,
2200
,
2201
,
705
,
2197
,
700
,
1286
,
1285
,
1284
,
/* 2320 */
1283
,
1282
,
1281
,
1280
,
1320
,
707
,
1318
,
1277
,
1276
,
2196
,
/* 2330 */
2197
,
2232
,
1273
,
1858
,
340
,
2198
,
710
,
2200
,
2201
,
705
,
/* 2340 */
707
,
700
,
1272
,
1271
,
1270
,
776
,
1856
,
778
,
2197
,
777
,
/* 2350 */
780
,
781
,
782
,
2215
,
1854
,
784
,
786
,
1851
,
707
,
788
,
/* 2360 */
1833
,
785
,
790
,
789
,
792
,
2165
,
1810
,
706
,
2215
,
1212
,
/* 2370 */
312
,
796
,
1785
,
1560
,
322
,
1785
,
799
,
1785
,
800
,
1785
,
/* 2380 */
2165
,
1785
,
706
,
1785
,
1785
,
1785
,
2215
,
1785
,
1785
,
1785
,
/* 2390 */
1785
,
1785
,
1785
,
1785
,
1785
,
2197
,
1785
,
1785
,
2165
,
1785
,
/* 2400 */
706
,
2196
,
1785
,
2232
,
1785
,
707
,
332
,
2198
,
710
,
2200
,
/* 2410 */
2201
,
705
,
1785
,
700
,
1785
,
1785
,
2196
,
2197
,
2232
,
1785
,
/* 2420 */
1785
,
341
,
2198
,
710
,
2200
,
2201
,
705
,
707
,
700
,
1785
,
/* 2430 */
1785
,
1785
,
1785
,
2215
,
2196
,
1785
,
2232
,
1785
,
1785
,
333
,
/* 2440 */
2198
,
710
,
2200
,
2201
,
705
,
2165
,
700
,
706
,
1785
,
1785
,
/* 2450 */
1785
,
1785
,
1785
,
1785
,
1785
,
2215
,
1785
,
1785
,
1785
,
1785
,
/* 2460 */
1785
,
1785
,
1785
,
1785
,
2197
,
1785
,
1785
,
2165
,
1785
,
706
,
/* 2470 */
1785
,
1785
,
1785
,
1785
,
707
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2480 */
1785
,
2196
,
1785
,
2232
,
1785
,
1785
,
346
,
2198
,
710
,
2200
,
/* 2490 */
2201
,
705
,
1785
,
700
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2500 */
1785
,
1785
,
2215
,
2196
,
1785
,
2232
,
1785
,
1785
,
347
,
2198
,
/* 2510 */
710
,
2200
,
2201
,
705
,
2165
,
700
,
706
,
1785
,
1785
,
1785
,
/* 2520 */
1785
,
1785
,
1785
,
2197
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2530 */
1785
,
1785
,
1785
,
707
,
1785
,
1785
,
2197
,
1785
,
1785
,
1785
,
/* 2540 */
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
707
,
1785
,
1785
,
1785
,
/* 2550 */
2196
,
1785
,
2232
,
2197
,
1785
,
2209
,
2198
,
710
,
2200
,
2201
,
/* 2560 */
705
,
2215
,
700
,
707
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2570 */
1785
,
1785
,
1785
,
2165
,
2215
,
706
,
1785
,
1785
,
1785
,
1785
,
/* 2580 */
1785
,
1785
,
1785
,
1785
,
1785
,
2197
,
2165
,
1785
,
706
,
1785
,
/* 2590 */
1785
,
2215
,
1785
,
1785
,
1785
,
707
,
1785
,
1785
,
1785
,
1785
,
/* 2600 */
1785
,
1785
,
1785
,
2165
,
1785
,
706
,
1785
,
1785
,
1785
,
2196
,
/* 2610 */
1785
,
2232
,
1785
,
1785
,
2208
,
2198
,
710
,
2200
,
2201
,
705
,
/* 2620 */
1785
,
700
,
2196
,
2215
,
2232
,
1785
,
1785
,
2207
,
2198
,
710
,
/* 2630 */
2200
,
2201
,
705
,
1785
,
700
,
2165
,
1785
,
706
,
1785
,
2196
,
/* 2640 */
1785
,
2232
,
1785
,
1785
,
362
,
2198
,
710
,
2200
,
2201
,
705
,
/* 2650 */
1785
,
700
,
2197
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2660 */
1785
,
1785
,
707
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2670 */
1785
,
2196
,
2197
,
2232
,
1785
,
1785
,
363
,
2198
,
710
,
2200
,
/* 2680 */
2201
,
705
,
707
,
700
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2690 */
2215
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2700 */
1785
,
1785
,
2165
,
1785
,
706
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2710 */
2215
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2720 */
1785
,
1785
,
2165
,
1785
,
706
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2730 */
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
2196
,
1785
,
/* 2740 */
2232
,
1785
,
2197
,
359
,
2198
,
710
,
2200
,
2201
,
705
,
1785
,
/* 2750 */
700
,
1785
,
707
,
1785
,
1785
,
1785
,
1785
,
1785
,
2196
,
2197
,
/* 2760 */
2232
,
1785
,
1785
,
364
,
2198
,
710
,
2200
,
2201
,
705
,
707
,
/* 2770 */
700
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2780 */
2215
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2790 */
1785
,
1785
,
2165
,
1785
,
706
,
1785
,
1785
,
2215
,
1785
,
1785
,
/* 2800 */
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
2165
,
/* 2810 */
1785
,
706
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
/* 2820 */
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
1785
,
708
,
1785
,
/* 2830 */
2232
,
1785
,
1785
,
338
,
2198
,
710
,
2200
,
2201
,
705
,
1785
,
/* 2840 */
700
,
1785
,
1785
,
1785
,
1785
,
2196
,
1785
,
2232
,
1785
,
1785
,
/* 2850 */
337
,
2198
,
710
,
2200
,
2201
,
705
,
1785
,
700
,
/* 0 */
443
,
2193
,
221
,
2013
,
449
,
442
,
533
,
2154
,
1825
,
378
,
/* 10 */
2082
,
666
,
48
,
46
,
1705
,
2358
,
733
,
2011
,
2353
,
645
,
/* 20 */
397
,
181
,
1554
,
41
,
40
,
2080
,
673
,
47
,
45
,
44
,
/* 30 */
43
,
42
,
255
,
1635
,
2357
,
1552
,
685
,
400
,
2354
,
2356
,
/* 40 */
2211
,
2066
,
1780
,
2082
,
1579
,
1961
,
163
,
626
,
2211
,
344
,
/* 50 */
2353
,
2161
,
379
,
702
,
626
,
390
,
685
,
2353
,
2079
,
673
,
/* 60 */
2011
,
651
,
1630
,
223
,
2353
,
2359
,
188
,
533
,
19
,
1825
,
/* 70 */
2354
,
652
,
2359
,
188
,
1236
,
1560
,
1235
,
2354
,
652
,
650
,
/* 80 */
188
,
686
,
1959
,
357
,
2354
,
652
,
1579
,
2192
,
90
,
2228
,
/* 90 */
663
,
144
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
2182
,
696
,
/* 100 */
794
,
135
,
644
,
15
,
185
,
367
,
2281
,
1237
,
570
,
530
,
/* 110 */
393
,
2277
,
531
,
1818
,
1954
,
412
,
48
,
46
,
1805
,
51
,
/* 120 */
411
,
527
,
1554
,
190
,
397
,
655
,
1554
,
1664
,
1370
,
525
,
/* 130 */
260
,
2307
,
521
,
517
,
671
,
1552
,
685
,
1635
,
672
,
1552
,
/* 140 */
1637
,
1638
,
453
,
2061
,
1361
,
731
,
730
,
729
,
1365
,
728
,
/* 150 */
1367
,
1368
,
727
,
724
,
2184
,
1376
,
721
,
1378
,
1379
,
718
,
/* 160 */
715
,
712
,
626
,
547
,
2358
,
2353
,
1630
,
2353
,
2161
,
62
,
/* 170 */
1610
,
1620
,
19
,
94
,
66
,
1560
,
1636
,
1639
,
2144
,
1560
,
/* 180 */
2359
,
188
,
646
,
2357
,
1665
,
2354
,
652
,
2354
,
2355
,
202
,
/* 190 */
545
,
1555
,
2075
,
1553
,
282
,
2289
,
662
,
2358
,
136
,
661
,
/* 200 */
794
,
2353
,
38
,
302
,
794
,
41
,
40
,
15
,
2193
,
47
,
/* 210 */
45
,
44
,
43
,
42
,
1581
,
743
,
650
,
188
,
703
,
51
,
/* 220 */
611
,
2354
,
652
,
1558
,
1559
,
1783
,
1609
,
1612
,
1613
,
1614
,
/* 230 */
1615
,
1616
,
1617
,
1618
,
1619
,
698
,
694
,
1628
,
1629
,
1631
,
/* 240 */
1632
,
1633
,
1634
,
2
,
1637
,
1638
,
125
,
2211
,
12
,
124
,
/* 250 */
123
,
122
,
121
,
120
,
119
,
118
,
117
,
116
,
2161
,
169
,
/* 260 */
702
,
1794
,
37
,
395
,
1659
,
1660
,
1661
,
1662
,
1663
,
1667
,
/* 270 */
1668
,
1669
,
1670
,
62
,
1610
,
1620
,
191
,
1579
,
1560
,
125
,
/* 280 */
1636
,
1639
,
124
,
123
,
122
,
121
,
120
,
119
,
118
,
117
,
/* 290 */
116
,
1555
,
602
,
1553
,
2192
,
1555
,
2228
,
1553
,
1768
,
112
,
/* 300 */
2194
,
706
,
2196
,
2197
,
701
,
600
,
696
,
598
,
2013
,
147
,
/* 310 */
734
,
155
,
2252
,
2281
,
387
,
2193
,
538
,
393
,
2277
,
531
,
/* 320 */
1818
,
168
,
2011
,
1558
,
1559
,
666
,
191
,
1558
,
1559
,
1900
,
/* 330 */
1609
,
1612
,
1613
,
1614
,
1615
,
1616
,
1617
,
1618
,
1619
,
698
,
/* 340 */
694
,
1628
,
1629
,
1631
,
1632
,
1633
,
1634
,
2
,
12
,
48
,
/* 350 */
46
,
686
,
1959
,
62
,
2211
,
2013
,
753
,
397
,
535
,
1554
,
/* 360 */
493
,
363
,
1580
,
656
,
532
,
2161
,
284
,
702
,
181
,
2011
,
/* 370 */
1635
,
135
,
1552
,
588
,
587
,
586
,
686
,
1959
,
575
,
103
,
/* 380 */
578
,
141
,
582
,
1236
,
658
,
1235
,
581
,
365
,
2065
,
52
,
/* 390 */
184
,
580
,
585
,
373
,
372
,
426
,
193
,
579
,
140
,
1630
,
/* 400 */
2296
,
2192
,
2000
,
2228
,
1952
,
19
,
112
,
2194
,
706
,
2196
,
/* 410 */
2197
,
701
,
1560
,
696
,
686
,
1959
,
1237
,
697
,
185
,
1324
,
/* 420 */
2281
,
212
,
211
,
1211
,
393
,
2277
,
2293
,
1463
,
1464
,
2193
,
/* 430 */
191
,
248
,
1323
,
651
,
56
,
247
,
2353
,
794
,
1935
,
703
,
/* 440 */
15
,
1827
,
41
,
40
,
492
,
2308
,
47
,
45
,
44
,
43
,
/* 450 */
42
,
650
,
188
,
48
,
46
,
1640
,
2354
,
652
,
258
,
2193
,
/* 460 */
1782
,
397
,
1213
,
1554
,
1216
,
1217
,
2013
,
402
,
2211
,
700
,
/* 470 */
2006
,
2008
,
392
,
431
,
1635
,
1901
,
1552
,
1637
,
1638
,
2161
,
/* 480 */
2011
,
702
,
1480
,
1481
,
134
,
133
,
132
,
131
,
130
,
129
,
/* 490 */
128
,
127
,
126
,
459
,
2061
,
1580
,
93
,
502
,
2211
,
352
,
/* 500 */
433
,
429
,
377
,
1630
,
604
,
743
,
1709
,
1610
,
1620
,
2161
,
/* 510 */
191
,
702
,
1579
,
1636
,
1639
,
2192
,
1560
,
2228
,
1479
,
1482
,
/* 520 */
112
,
2194
,
706
,
2196
,
2197
,
701
,
146
,
696
,
1555
,
2252
,
/* 530 */
1553
,
1861
,
2373
,
1795
,
2281
,
663
,
144
,
2321
,
393
,
2277
,
/* 540 */
205
,
794
,
686
,
1959
,
49
,
2192
,
191
,
2228
,
2007
,
2008
,
/* 550 */
338
,
2194
,
706
,
2196
,
2197
,
701
,
699
,
696
,
687
,
2246
,
/* 560 */
1558
,
1559
,
447
,
1609
,
1612
,
1613
,
1614
,
1615
,
1616
,
1617
,
/* 570 */
1618
,
1619
,
698
,
694
,
1628
,
1629
,
1631
,
1632
,
1633
,
1634
,
/* 580 */
2
,
1637
,
1638
,
41
,
40
,
686
,
1959
,
47
,
45
,
44
,
/* 590 */
43
,
42
,
41
,
40
,
450
,
1582
,
47
,
45
,
44
,
43
,
/* 600 */
42
,
588
,
587
,
586
,
1733
,
448
,
165
,
451
,
578
,
141
,
/* 610 */
582
,
1610
,
1620
,
1328
,
581
,
1405
,
1406
,
1636
,
1639
,
580
,
/* 620 */
585
,
373
,
372
,
2013
,
659
,
579
,
1327
,
391
,
30
,
401
,
/* 630 */
686
,
1959
,
1555
,
370
,
1553
,
1961
,
166
,
2011
,
665
,
186
,
/* 640 */
2289
,
2290
,
279
,
142
,
2294
,
486
,
2061
,
2155
,
2193
,
1936
,
/* 650 */
461
,
638
,
637
,
1731
,
1732
,
1734
,
1735
,
1736
,
703
,
1581
,
/* 660 */
2315
,
1313
,
1611
,
9
,
1558
,
1559
,
1934
,
1609
,
1612
,
1613
,
/* 670 */
1614
,
1615
,
1616
,
1617
,
1618
,
1619
,
698
,
694
,
1628
,
1629
,
/* 680 */
1631
,
1632
,
1633
,
1634
,
2
,
48
,
46
,
2211
,
1745
,
686
,
/* 690 */
1959
,
504
,
210
,
397
,
626
,
1554
,
2126
,
2353
,
2161
,
1804
,
/* 700 */
702
,
1315
,
371
,
639
,
369
,
368
,
1635
,
572
,
1552
,
476
,
/* 710 */
1270
,
574
,
2359
,
188
,
2044
,
41
,
40
,
2354
,
652
,
47
,
/* 720 */
45
,
44
,
43
,
42
,
41
,
40
,
1239
,
1240
,
47
,
45
,
/* 730 */
44
,
43
,
42
,
573
,
2192
,
1630
,
2228
,
566
,
565
,
112
,
/* 740 */
2194
,
706
,
2196
,
2197
,
701
,
250
,
696
,
262
,
1560
,
2161
,
/* 750 */
1271
,
2373
,
207
,
2281
,
2296
,
41
,
40
,
393
,
2277
,
47
,
/* 760 */
45
,
44
,
43
,
42
,
741
,
14
,
13
,
2193
,
47
,
45
,
/* 770 */
44
,
43
,
42
,
794
,
686
,
1959
,
49
,
700
,
593
,
641
,
/* 780 */
2292
,
741
,
2013
,
160
,
159
,
738
,
737
,
736
,
157
,
48
,
/* 790 */
46
,
139
,
86
,
603
,
477
,
85
,
2012
,
397
,
2296
,
1554
,
/* 800 */
160
,
159
,
738
,
737
,
736
,
157
,
2211
,
246
,
568
,
567
,
/* 810 */
1635
,
284
,
1552
,
1637
,
1638
,
34
,
273
,
2161
,
249
,
702
,
/* 820 */
1744
,
41
,
40
,
596
,
2291
,
47
,
45
,
44
,
43
,
42
,
/* 830 */
590
,
1899
,
672
,
672
,
686
,
1959
,
245
,
686
,
1959
,
1630
,
/* 840 */
293
,
294
,
1645
,
1610
,
1620
,
292
,
1666
,
1898
,
1579
,
1636
,
/* 850 */
1639
,
1721
,
1560
,
2192
,
546
,
2228
,
2212
,
1956
,
338
,
2194
,
/* 860 */
706
,
2196
,
2197
,
701
,
1555
,
696
,
1553
,
2247
,
1678
,
647
,
/* 870 */
642
,
635
,
609
,
471
,
686
,
1959
,
70
,
794
,
1803
,
69
,
/* 880 */
15
,
2193
,
470
,
1698
,
670
,
681
,
2075
,
2075
,
1525
,
1526
,
/* 890 */
1775
,
703
,
735
,
2328
,
251
,
2004
,
1558
,
1559
,
2357
,
1609
,
/* 900 */
1612
,
1613
,
1614
,
1615
,
1616
,
1617
,
1618
,
1619
,
698
,
694
,
/* 910 */
1628
,
1629
,
1631
,
1632
,
1633
,
1634
,
2
,
1637
,
1638
,
626
,
/* 920 */
2211
,
2171
,
2353
,
739
,
35
,
2171
,
2004
,
2171
,
2161
,
406
,
/* 930 */
405
,
2161
,
380
,
702
,
1671
,
1950
,
410
,
2359
,
188
,
2179
,
/* 940 */
1219
,
2180
,
2354
,
652
,
1802
,
2175
,
1578
,
1610
,
1620
,
2175
,
/* 950 */
36
,
2175
,
1561
,
1636
,
1639
,
1702
,
41
,
40
,
584
,
583
,
/* 960 */
47
,
45
,
44
,
43
,
42
,
686
,
1959
,
2192
,
1555
,
2228
,
/* 970 */
1553
,
1801
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
625
,
696
,
/* 980 */
44
,
43
,
42
,
2177
,
2373
,
259
,
2281
,
2177
,
394
,
2177
,
/* 990 */
393
,
2277
,
1774
,
696
,
2161
,
663
,
144
,
696
,
1611
,
696
,
/* 1000 */
1558
,
1559
,
1858
,
1609
,
1612
,
1613
,
1614
,
1615
,
1616
,
1617
,
/* 1010 */
1618
,
1619
,
698
,
694
,
1628
,
1629
,
1631
,
1632
,
1633
,
1634
,
/* 1020 */
2
,
2161
,
348
,
167
,
1577
,
574
,
62
,
1800
,
323
,
686
,
/* 1030 */
1959
,
484
,
686
,
1959
,
500
,
663
,
144
,
499
,
686
,
1959
,
/* 1040 */
765
,
763
,
320
,
73
,
686
,
1959
,
72
,
573
,
12
,
669
,
/* 1050 */
10
,
2070
,
297
,
467
,
400
,
501
,
1824
,
345
,
683
,
688
,
/* 1060 */
469
,
2253
,
1961
,
166
,
684
,
2311
,
1799
,
1798
,
219
,
512
,
/* 1070 */
510
,
507
,
771
,
770
,
769
,
768
,
409
,
2161
,
767
,
766
,
/* 1080 */
148
,
761
,
760
,
759
,
758
,
757
,
756
,
755
,
162
,
751
,
/* 1090 */
750
,
749
,
408
,
407
,
746
,
745
,
744
,
176
,
175
,
187
,
/* 1100 */
2289
,
2290
,
60
,
142
,
2294
,
1582
,
366
,
237
,
62
,
623
,
/* 1110 */
1564
,
403
,
690
,
441
,
2253
,
440
,
2161
,
2161
,
455
,
1961
,
/* 1120 */
166
,
1948
,
166
,
173
,
1582
,
109
,
686
,
1959
,
1797
,
686
,
/* 1130 */
1959
,
564
,
560
,
556
,
552
,
1796
,
236
,
1793
,
1579
,
189
,
/* 1140 */
2289
,
2290
,
145
,
142
,
2294
,
439
,
303
,
111
,
497
,
404
,
/* 1150 */
1951
,
491
,
490
,
489
,
488
,
483
,
482
,
481
,
480
,
479
,
/* 1160 */
475
,
474
,
473
,
472
,
347
,
464
,
463
,
462
,
667
,
457
,
/* 1170 */
456
,
364
,
1792
,
1819
,
90
,
654
,
91
,
693
,
2161
,
234
,
/* 1180 */
1944
,
166
,
1791
,
191
,
664
,
2161
,
1790
,
2161
,
81
,
80
,
/* 1190 */
446
,
2193
,
1789
,
200
,
1788
,
1787
,
1786
,
1946
,
166
,
1785
,
/* 1200 */
1955
,
703
,
1563
,
633
,
1942
,
166
,
438
,
436
,
1962
,
166
,
/* 1210 */
740
,
316
,
1701
,
2004
,
1990
,
626
,
1937
,
346
,
2353
,
2193
,
/* 1220 */
427
,
2147
,
2161
,
425
,
421
,
417
,
414
,
439
,
74
,
703
,
/* 1230 */
2211
,
2346
,
2161
,
2359
,
188
,
158
,
2161
,
754
,
2354
,
652
,
/* 1240 */
1921
,
2161
,
2161
,
702
,
2161
,
2161
,
2161
,
233
,
227
,
2161
,
/* 1250 */
1216
,
1217
,
2193
,
242
,
232
,
543
,
240
,
203
,
2211
,
576
,
/* 1260 */
149
,
54
,
703
,
3
,
2300
,
191
,
2301
,
1698
,
1562
,
2161
,
/* 1270 */
419
,
702
,
83
,
225
,
137
,
577
,
261
,
2192
,
84
,
2228
,
/* 1280 */
2001
,
1311
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
1611
,
696
,
/* 1290 */
151
,
2211
,
281
,
150
,
2373
,
55
,
2281
,
1309
,
1845
,
1836
,
/* 1300 */
393
,
2277
,
2161
,
244
,
702
,
2192
,
243
,
2228
,
1834
,
158
,
/* 1310 */
112
,
2194
,
706
,
2196
,
2197
,
701
,
153
,
696
,
158
,
152
,
/* 1320 */
589
,
591
,
2373
,
606
,
2281
,
605
,
1777
,
1778
,
393
,
2277
,
/* 1330 */
594
,
50
,
1656
,
50
,
747
,
266
,
158
,
278
,
2192
,
50
,
/* 1340 */
2228
,
290
,
2193
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
1
,
/* 1350 */
696
,
71
,
703
,
406
,
405
,
2373
,
1289
,
2281
,
156
,
158
,
/* 1360 */
1566
,
393
,
2277
,
1568
,
741
,
14
,
13
,
64
,
5
,
1520
,
/* 1370 */
2193
,
50
,
413
,
418
,
1635
,
1828
,
1561
,
361
,
1523
,
1585
,
/* 1380 */
703
,
2211
,
435
,
160
,
159
,
738
,
737
,
736
,
157
,
50
,
/* 1390 */
710
,
1730
,
2161
,
1729
,
702
,
268
,
668
,
156
,
434
,
1477
,
/* 1400 */
158
,
295
,
748
,
1630
,
108
,
195
,
196
,
138
,
437
,
2211
,
/* 1410 */
156
,
678
,
198
,
1501
,
105
,
452
,
1560
,
310
,
299
,
1354
,
/* 1420 */
2161
,
1578
,
702
,
209
,
1287
,
789
,
1565
,
1672
,
2192
,
454
,
/* 1430 */
2228
,
1621
,
2193
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
1582
,
/* 1440 */
696
,
692
,
703
,
2071
,
458
,
2256
,
460
,
2281
,
495
,
315
,
/* 1450 */
1383
,
393
,
2277
,
465
,
1577
,
478
,
2192
,
1387
,
2228
,
485
,
/* 1460 */
1394
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
1392
,
696
,
2063
,
/* 1470 */
161
,
2211
,
505
,
2254
,
487
,
2281
,
494
,
496
,
506
,
393
,
/* 1480 */
2277
,
503
,
2161
,
213
,
702
,
214
,
508
,
509
,
216
,
511
,
/* 1490 */
513
,
1583
,
528
,
4
,
529
,
536
,
539
,
537
,
1580
,
2193
,
/* 1500 */
224
,
226
,
1584
,
540
,
1586
,
541
,
544
,
542
,
569
,
703
,
/* 1510 */
229
,
548
,
571
,
1949
,
231
,
88
,
89
,
239
,
2192
,
235
,
/* 1520 */
2228
,
114
,
351
,
112
,
2194
,
706
,
2196
,
2197
,
701
,
608
,
/* 1530 */
696
,
92
,
1569
,
311
,
1564
,
689
,
2135
,
2281
,
2211
,
1945
,
/* 1540 */
154
,
393
,
2277
,
241
,
1947
,
610
,
1943
,
252
,
614
,
2161
,
/* 1550 */
615
,
702
,
256
,
2132
,
621
,
254
,
613
,
1508
,
676
,
2131
,
/* 1560 */
2303
,
2193
,
618
,
640
,
1572
,
1574
,
619
,
630
,
2327
,
636
,
/* 1570 */
2326
,
703
,
383
,
643
,
2312
,
2322
,
264
,
694
,
1628
,
1629
,
/* 1580 */
1631
,
1632
,
1633
,
1634
,
620
,
2192
,
267
,
2228
,
8
,
649
,
/* 1590 */
113
,
2194
,
706
,
2196
,
2197
,
701
,
272
,
696
,
174
,
631
,
/* 1600 */
2211
,
628
,
384
,
629
,
2281
,
277
,
1698
,
276
,
2280
,
2277
,
/* 1610 */
274
,
2161
,
660
,
702
,
2376
,
657
,
1581
,
143
,
2297
,
178
,
/* 1620 */
285
,
98
,
1587
,
312
,
2193
,
674
,
2076
,
675
,
2090
,
2089
,
/* 1630 */
2088
,
313
,
389
,
679
,
703
,
680
,
314
,
100
,
102
,
1960
,
/* 1640 */
275
,
61
,
104
,
2262
,
2005
,
1922
,
317
,
2192
,
790
,
2228
,
/* 1650 */
306
,
708
,
113
,
2194
,
706
,
2196
,
2197
,
701
,
53
,
696
,
/* 1660 */
2153
,
791
,
341
,
2211
,
2352
,
793
,
2281
,
280
,
319
,
321
,
/* 1670 */
691
,
2277
,
2152
,
326
,
2161
,
340
,
702
,
353
,
354
,
330
,
/* 1680 */
2151
,
78
,
2148
,
415
,
416
,
2193
,
1545
,
1546
,
194
,
420
,
/* 1690 */
2146
,
422
,
423
,
424
,
2145
,
703
,
362
,
2143
,
428
,
2193
,
/* 1700 */
2142
,
430
,
2141
,
432
,
1536
,
2122
,
197
,
2121
,
199
,
703
,
/* 1710 */
704
,
79
,
2228
,
1504
,
1503
,
113
,
2194
,
706
,
2196
,
2197
,
/* 1720 */
701
,
2103
,
696
,
2102
,
2211
,
2101
,
2100
,
444
,
445
,
2281
,
/* 1730 */
2099
,
1454
,
2054
,
356
,
2277
,
2161
,
2193
,
702
,
2211
,
2053
,
/* 1740 */
2050
,
2049
,
201
,
82
,
2048
,
2047
,
703
,
206
,
466
,
2161
,
/* 1750 */
2052
,
702
,
2051
,
204
,
2046
,
2045
,
2043
,
2042
,
2041
,
2040
,
/* 1760 */
468
,
2056
,
2193
,
2039
,
2038
,
2037
,
2036
,
2035
,
2034
,
2033
,
/* 1770 */
2032
,
2192
,
703
,
2228
,
2031
,
2211
,
170
,
2194
,
706
,
2196
,
/* 1780 */
2197
,
701
,
2030
,
696
,
2029
,
2192
,
2161
,
2228
,
702
,
2028
,
/* 1790 */
171
,
2194
,
706
,
2196
,
2197
,
701
,
2027
,
696
,
2026
,
2025
,
/* 1800 */
208
,
2211
,
2024
,
2023
,
87
,
2022
,
2021
,
2055
,
2020
,
2019
,
/* 1810 */
1456
,
2018
,
2161
,
2017
,
702
,
2016
,
627
,
2318
,
498
,
2015
,
/* 1820 */
2014
,
1864
,
2192
,
1325
,
2228
,
349
,
2193
,
170
,
2194
,
706
,
/* 1830 */
2196
,
2197
,
701
,
350
,
696
,
1321
,
703
,
215
,
1329
,
1863
,
/* 1840 */
217
,
653
,
2374
,
1862
,
1860
,
218
,
1857
,
514
,
2192
,
1856
,
/* 1850 */
2228
,
2193
,
518
,
113
,
2194
,
706
,
2196
,
2197
,
701
,
515
,
/* 1860 */
696
,
703
,
516
,
519
,
520
,
2211
,
1849
,
2281
,
2319
,
381
,
/* 1870 */
522
,
523
,
2278
,
524
,
1838
,
526
,
2161
,
2193
,
702
,
1814
,
/* 1880 */
220
,
76
,
1218
,
2181
,
1813
,
182
,
77
,
703
,
2120
,
2110
,
/* 1890 */
2211
,
222
,
183
,
2098
,
382
,
534
,
228
,
230
,
2097
,
2074
,
/* 1900 */
1938
,
2161
,
1263
,
702
,
1859
,
1855
,
549
,
550
,
551
,
1853
,
/* 1910 */
553
,
554
,
2192
,
1851
,
2228
,
555
,
2211
,
339
,
2194
,
706
,
/* 1920 */
2196
,
2197
,
701
,
1848
,
696
,
557
,
558
,
2161
,
1833
,
702
,
/* 1930 */
559
,
561
,
562
,
563
,
1831
,
1832
,
1830
,
2192
,
1810
,
2228
,
/* 1940 */
1940
,
63
,
339
,
2194
,
706
,
2196
,
2197
,
701
,
1398
,
696
,
/* 1950 */
2193
,
1399
,
1939
,
1312
,
1310
,
1308
,
1307
,
1306
,
762
,
1305
,
/* 1960 */
703
,
764
,
1304
,
2192
,
238
,
2228
,
2193
,
612
,
332
,
2194
,
/* 1970 */
706
,
2196
,
2197
,
701
,
1301
,
696
,
703
,
1300
,
1299
,
1298
,
/* 1980 */
1846
,
374
,
1837
,
375
,
592
,
797
,
376
,
1809
,
595
,
2211
,
/* 1990 */
1835
,
1808
,
597
,
599
,
1807
,
601
,
115
,
1530
,
1532
,
309
,
/* 2000 */
2161
,
1534
,
702
,
1529
,
29
,
2211
,
2119
,
1510
,
2109
,
388
,
/* 2010 */
67
,
648
,
164
,
2096
,
1512
,
180
,
2161
,
616
,
702
,
2095
,
/* 2020 */
2358
,
20
,
57
,
787
,
783
,
779
,
775
,
2193
,
307
,
1514
,
/* 2030 */
257
,
617
,
1489
,
622
,
31
,
1488
,
2192
,
703
,
2228
,
624
,
/* 2040 */
17
,
171
,
2194
,
706
,
2196
,
2197
,
701
,
1747
,
696
,
263
,
/* 2050 */
6
,
632
,
2192
,
7
,
2228
,
265
,
21
,
339
,
2194
,
706
,
/* 2060 */
2196
,
2197
,
701
,
172
,
696
,
22
,
2211
,
270
,
110
,
634
,
/* 2070 */
396
,
300
,
271
,
1728
,
269
,
2182
,
33
,
2161
,
32
,
702
,
/* 2080 */
65
,
1762
,
1720
,
1767
,
95
,
24
,
1761
,
1768
,
2193
,
385
,
/* 2090 */
23
,
18
,
1766
,
2375
,
1765
,
386
,
283
,
1695
,
703
,
59
,
/* 2100 */
1694
,
2094
,
2073
,
177
,
682
,
97
,
96
,
25
,
288
,
2072
,
/* 2110 */
291
,
58
,
296
,
2192
,
2193
,
2228
,
677
,
68
,
339
,
2194
,
/* 2120 */
706
,
2196
,
2197
,
701
,
703
,
696
,
289
,
2211
,
1726
,
99
,
/* 2130 */
101
,
398
,
301
,
105
,
1647
,
26
,
1646
,
11
,
2161
,
287
,
/* 2140 */
702
,
13
,
1570
,
2231
,
179
,
695
,
286
,
298
,
1657
,
1625
,
/* 2150 */
192
,
1623
,
1622
,
2211
,
1594
,
39
,
16
,
1602
,
707
,
709
,
/* 2160 */
399
,
27
,
705
,
713
,
2161
,
253
,
702
,
28
,
716
,
1384
,
/* 2170 */
711
,
719
,
1381
,
714
,
2192
,
1380
,
2228
,
717
,
2193
,
339
,
/* 2180 */
2194
,
706
,
2196
,
2197
,
701
,
1377
,
696
,
720
,
703
,
722
,
/* 2190 */
1371
,
723
,
725
,
2193
,
1360
,
1375
,
1369
,
726
,
1374
,
1373
,
/* 2200 */
607
,
1372
,
2228
,
703
,
732
,
334
,
2194
,
706
,
2196
,
2197
,
/* 2210 */
701
,
2193
,
696
,
106
,
304
,
107
,
1393
,
2211
,
75
,
1389
,
/* 2220 */
1261
,
703
,
1293
,
742
,
1292
,
1291
,
1290
,
1288
,
2161
,
1286
,
/* 2230 */
702
,
1285
,
2211
,
1284
,
1319
,
752
,
1282
,
305
,
1281
,
1280
,
/* 2240 */
1279
,
1278
,
1277
,
2161
,
1276
,
702
,
1316
,
1314
,
1273
,
1272
,
/* 2250 */
2211
,
1269
,
1268
,
1267
,
1266
,
1854
,
772
,
773
,
1852
,
774
,
/* 2260 */
776
,
2161
,
778
,
702
,
2192
,
1850
,
2228
,
780
,
782
,
324
,
/* 2270 */
2194
,
706
,
2196
,
2197
,
701
,
777
,
696
,
781
,
1847
,
2192
,
/* 2280 */
784
,
2228
,
785
,
1829
,
322
,
2194
,
706
,
2196
,
2197
,
701
,
/* 2290 */
786
,
696
,
788
,
1806
,
1208
,
308
,
792
,
2192
,
1556
,
2228
,
/* 2300 */
796
,
318
,
325
,
2194
,
706
,
2196
,
2197
,
701
,
2193
,
696
,
/* 2310 */
795
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
703
,
1781
,
/* 2320 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
2193
,
1781
,
1781
,
/* 2330 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
703
,
1781
,
1781
,
/* 2340 */
1781
,
2193
,
1781
,
1781
,
1781
,
1781
,
1781
,
2211
,
1781
,
1781
,
/* 2350 */
1781
,
703
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
1781
,
/* 2360 */
702
,
1781
,
1781
,
1781
,
1781
,
1781
,
2211
,
1781
,
1781
,
1781
,
/* 2370 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
2193
,
702
,
/* 2380 */
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
703
,
1781
,
/* 2390 */
1781
,
2161
,
1781
,
702
,
2192
,
1781
,
2228
,
1781
,
1781
,
331
,
/* 2400 */
2194
,
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
1781
,
1781
,
/* 2410 */
1781
,
1781
,
1781
,
2192
,
1781
,
2228
,
1781
,
2211
,
335
,
2194
,
/* 2420 */
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
2192
,
2161
,
2228
,
/* 2430 */
702
,
1781
,
327
,
2194
,
706
,
2196
,
2197
,
701
,
1781
,
696
,
/* 2440 */
2193
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2450 */
703
,
1781
,
1781
,
1781
,
1781
,
2193
,
1781
,
1781
,
1781
,
1781
,
/* 2460 */
1781
,
1781
,
1781
,
1781
,
2192
,
703
,
2228
,
1781
,
1781
,
336
,
/* 2470 */
2194
,
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
1781
,
2211
,
/* 2480 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2490 */
2161
,
1781
,
702
,
1781
,
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2500 */
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
2193
,
702
,
1781
,
1781
,
/* 2510 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
703
,
1781
,
1781
,
1781
,
/* 2520 */
2193
,
1781
,
1781
,
1781
,
1781
,
1781
,
2192
,
1781
,
2228
,
1781
,
/* 2530 */
703
,
328
,
2194
,
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
/* 2540 */
1781
,
2192
,
1781
,
2228
,
1781
,
2211
,
337
,
2194
,
706
,
2196
,
/* 2550 */
2197
,
701
,
1781
,
696
,
1781
,
1781
,
2161
,
1781
,
702
,
2211
,
/* 2560 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2570 */
2161
,
1781
,
702
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2580 */
1781
,
1781
,
1781
,
1781
,
1781
,
2193
,
1781
,
1781
,
1781
,
1781
,
/* 2590 */
1781
,
1781
,
2192
,
1781
,
2228
,
703
,
1781
,
329
,
2194
,
706
,
/* 2600 */
2196
,
2197
,
701
,
1781
,
696
,
1781
,
2192
,
1781
,
2228
,
1781
,
/* 2610 */
1781
,
342
,
2194
,
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
/* 2620 */
1781
,
1781
,
1781
,
1781
,
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2630 */
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
1781
,
702
,
1781
,
1781
,
/* 2640 */
1781
,
1781
,
1781
,
1781
,
1781
,
2193
,
1781
,
1781
,
1781
,
1781
,
/* 2650 */
1781
,
1781
,
1781
,
1781
,
1781
,
703
,
1781
,
1781
,
1781
,
1781
,
/* 2660 */
2193
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2670 */
703
,
2192
,
1781
,
2228
,
1781
,
1781
,
343
,
2194
,
706
,
2196
,
/* 2680 */
2197
,
701
,
1781
,
696
,
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2690 */
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
1781
,
702
,
1781
,
2211
,
/* 2700 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2710 */
2161
,
1781
,
702
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2720 */
2193
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2730 */
703
,
2192
,
1781
,
2228
,
1781
,
2193
,
2205
,
2194
,
706
,
2196
,
/* 2740 */
2197
,
701
,
1781
,
696
,
1781
,
703
,
2192
,
1781
,
2228
,
1781
,
/* 2750 */
1781
,
2204
,
2194
,
706
,
2196
,
2197
,
701
,
2193
,
696
,
2211
,
/* 2760 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
703
,
1781
,
1781
,
/* 2770 */
2161
,
1781
,
702
,
1781
,
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2780 */
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
1781
,
702
,
1781
,
1781
,
/* 2790 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
2211
,
1781
,
1781
,
1781
,
/* 2800 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
2192
,
2161
,
2228
,
702
,
/* 2810 */
1781
,
2203
,
2194
,
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
/* 2820 */
1781
,
2192
,
1781
,
2228
,
1781
,
1781
,
358
,
2194
,
706
,
2196
,
/* 2830 */
2197
,
701
,
2193
,
696
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2840 */
1781
,
1781
,
703
,
2192
,
1781
,
2228
,
1781
,
2193
,
359
,
2194
,
/* 2850 */
706
,
2196
,
2197
,
701
,
1781
,
696
,
1781
,
703
,
1781
,
1781
,
/* 2860 */
1781
,
1781
,
2193
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2870 */
1781
,
2211
,
703
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2880 */
1781
,
1781
,
2161
,
1781
,
702
,
1781
,
2211
,
1781
,
1781
,
1781
,
/* 2890 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
2161
,
1781
,
702
,
/* 2900 */
1781
,
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2910 */
1781
,
1781
,
2161
,
1781
,
702
,
1781
,
1781
,
1781
,
2192
,
1781
,
/* 2920 */
2228
,
1781
,
1781
,
355
,
2194
,
706
,
2196
,
2197
,
701
,
1781
,
/* 2930 */
696
,
1781
,
1781
,
2192
,
2193
,
2228
,
1781
,
1781
,
360
,
2194
,
/* 2940 */
706
,
2196
,
2197
,
701
,
703
,
696
,
1781
,
1781
,
704
,
1781
,
/* 2950 */
2228
,
1781
,
1781
,
334
,
2194
,
706
,
2196
,
2197
,
701
,
1781
,
/* 2960 */
696
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2970 */
1781
,
1781
,
1781
,
2211
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 2980 */
1781
,
1781
,
1781
,
1781
,
2161
,
1781
,
702
,
1781
,
1781
,
1781
,
/* 2990 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 3000 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 3010 */
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
1781
,
/* 3020 */
2192
,
1781
,
2228
,
1781
,
1781
,
333
,
2194
,
706
,
2196
,
2197
,
/* 3030 */
701
,
1781
,
696
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
380
,
341
,
367
,
393
,
346
,
350
,
351
,
411
,
350
,
378
,
/* 10 */
3
52
,
351
,
12
,
13
,
14
,
405
,
381
,
4
,
408
,
409
,
/* 20 */
20
,
3
90
,
22
,
8
,
9
,
370
,
391
,
12
,
13
,
14
,
/* 30 */
15
,
16
,
3
77
,
33
,
350
,
35
,
367
,
14
,
20
,
379
,
/* 40 */
8
,
9
,
338
,
20
,
12
,
13
,
14
,
15
,
16
,
20
,
/* 50 */
381
,
391
,
380
,
393
,
458
,
49
,
43
,
461
,
45
,
46
,
/* 60 */
39
1
,
379
,
62
,
57
,
429
,
430
,
60
,
61
,
68
,
20
,
/* 70 */
4
,
22
,
476
,
477
,
439
,
75
,
44
,
481
,
482
,
395
,
/* 80 */
360
,
399
,
400
,
68
,
35
,
350
,
351
,
427
,
368
,
429
,
/* 90 */
350
,
351
,
432
,
433
,
434
,
435
,
436
,
437
,
429
,
439
,
/* 100 */
100
,
0
,
53
,
103
,
444
,
370
,
446
,
340
,
439
,
342
,
/* 110 */
450
,
451
,
3
77
,
20
,
393
,
411
,
12
,
13
,
379
,
458
,
/* 120 */
416
,
103
,
461
,
463
,
20
,
386
,
22
,
112
,
100
,
408
,
/* 130 */
409
,
471
,
103
,
394
,
350
,
351
,
104
,
33
,
477
,
35
,
/* 140 */
140
,
141
,
481
,
482
,
116
,
117
,
118
,
119
,
120
,
121
,
/* 150 */
122
,
123
,
124
,
125
,
370
,
127
,
128
,
129
,
130
,
131
,
/* 160 */
132
,
133
,
458
,
20
,
458
,
461
,
62
,
461
,
67
,
103
,
/* 170 */
170
,
171
,
68
,
350
,
351
,
357
,
176
,
177
,
2
0
,
75
,
/* 180 */
476
,
477
,
476
,
477
,
169
,
481
,
482
,
481
,
482
,
44
7
,
/* 190 */
4
48
,
191
,
37
4
,
193
,
454
,
455
,
456
,
3
,
458
,
459
,
/* 200 */
382
,
461
,
1
,
2
,
100
,
8
,
9
,
103
,
341
,
12
,
/* 210 */
13
,
14
,
15
,
16
,
20
,
20
,
476
,
477
,
351
,
35
,
/* 220 */
397
,
481
,
482
,
223
,
224
,
0
,
226
,
227
,
228
,
229
,
/* 0 */
411
,
341
,
346
,
380
,
350
,
416
,
350
,
411
,
352
,
386
,
/* 10 */
3
93
,
351
,
12
,
13
,
14
,
458
,
387
,
394
,
461
,
351
,
/* 20 */
20
,
3
80
,
22
,
8
,
9
,
408
,
409
,
12
,
13
,
14
,
/* 30 */
15
,
16
,
3
87
,
33
,
477
,
35
,
20
,
371
,
481
,
482
,
/* 40 */
380
,
400
,
338
,
393
,
20
,
379
,
380
,
458
,
380
,
395
,
/* 50 */
461
,
391
,
386
,
393
,
458
,
405
,
20
,
461
,
408
,
409
,
/* 60 */
39
4
,
458
,
62
,
346
,
461
,
476
,
477
,
350
,
68
,
352
,
/* 70 */
481
,
482
,
476
,
477
,
20
,
75
,
22
,
481
,
482
,
476
,
/* 80 */
477
,
350
,
351
,
68
,
481
,
482
,
20
,
427
,
359
,
429
,
/* 90 */
350
,
351
,
432
,
433
,
434
,
435
,
436
,
437
,
47
,
439
,
/* 100 */
100
,
370
,
434
,
103
,
444
,
376
,
446
,
53
,
377
,
345
,
/* 110 */
450
,
451
,
3
48
,
349
,
385
,
411
,
12
,
13
,
341
,
103
,
/* 120 */
416
,
49
,
22
,
463
,
20
,
44
,
22
,
112
,
100
,
57
,
/* 130 */
62
,
471
,
60
,
61
,
20
,
35
,
20
,
33
,
350
,
35
,
/* 140 */
140
,
141
,
350
,
351
,
116
,
117
,
118
,
119
,
120
,
121
,
/* 150 */
122
,
123
,
124
,
125
,
103
,
127
,
128
,
129
,
130
,
131
,
/* 160 */
132
,
133
,
458
,
67
,
458
,
461
,
62
,
461
,
391
,
103
,
/* 170 */
170
,
171
,
68
,
105
,
4
,
75
,
176
,
177
,
0
,
75
,
/* 180 */
476
,
477
,
20
,
477
,
169
,
481
,
482
,
481
,
482
,
39
7
,
/* 190 */
4
02
,
191
,
40
4
,
193
,
454
,
455
,
456
,
3
,
458
,
459
,
/* 200 */
100
,
461
,
447
,
448
,
100
,
8
,
9
,
103
,
341
,
12
,
/* 210 */
13
,
14
,
15
,
16
,
20
,
67
,
476
,
477
,
351
,
103
,
/* 220 */
114
,
481
,
482
,
223
,
224
,
0
,
226
,
227
,
228
,
229
,
/* 230 */
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
/* 240 */
240
,
241
,
242
,
243
,
140
,
141
,
379
,
392
,
393
,
24
,
/* 250 */
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
391
,
75
,
/* 260 */
393
,
0
,
247
,
248
,
249
,
250
,
251
,
252
,
253
,
254
,
/* 270 */
255
,
256
,
257
,
345
,
170
,
171
,
348
,
349
,
260
,
20
,
/* 280 */
176
,
177
,
2
1
,
140
,
141
,
24
,
25
,
26
,
27
,
28
,
/* 290 */
29
,
30
,
31
,
32
,
427
,
191
,
429
,
193
,
104
,
432
,
/* 300 */
433
,
434
,
435
,
436
,
437
,
104
,
439
,
0
,
371
,
442
,
/* 310 */
67
,
444
,
445
,
446
,
20
,
341
,
379
,
450
,
451
,
176
,
/* 320 */
177
,
341
,
350
,
351
,
387
,
351
,
260
,
223
,
224
,
20
,
/* 240 */
240
,
241
,
242
,
243
,
140
,
141
,
21
,
380
,
244
,
24
,
/* 250 */
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
391
,
340
,
/* 260 */
393
,
342
,
247
,
248
,
249
,
250
,
251
,
252
,
253
,
254
,
/* 270 */
255
,
256
,
257
,
103
,
170
,
171
,
260
,
20
,
75
,
21
,
/* 280 */
176
,
177
,
2
4
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
/* 290 */
32
,
191
,
21
,
193
,
427
,
191
,
429
,
193
,
104
,
432
,
/* 300 */
433
,
434
,
435
,
436
,
437
,
34
,
439
,
36
,
380
,
442
,
/* 310 */
114
,
444
,
445
,
446
,
386
,
341
,
345
,
450
,
451
,
348
,
/* 320 */
349
,
360
,
394
,
223
,
224
,
351
,
260
,
223
,
224
,
368
,
/* 330 */
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
/* 340 */
236
,
237
,
238
,
239
,
240
,
241
,
242
,
243
,
244
,
12
,
/* 350 */
13
,
20
,
341
,
379
,
379
,
12
,
13
,
20
,
103
,
22
,
/* 360 */
458
,
386
,
103
,
461
,
431
,
391
,
172
,
393
,
113
,
394
,
/* 370 */
33
,
3
91
,
35
,
70
,
71
,
72
,
350
,
351
,
35
,
47
7
,
/* 380 */
77
,
78
,
79
,
481
,
482
,
345
,
83
,
351
,
348
,
349
,
/* 390 */
457
,
88
,
89
,
90
,
91
,
375
,
370
,
94
,
114
,
62
,
/* 400 */
135
,
427
,
391
,
429
,
139
,
68
,
432
,
433
,
434
,
435
,
/* 410 */
436
,
437
,
75
,
439
,
134
,
379
,
134
,
135
,
444
,
389
,
/* 420 */
446
,
1
39
,
392
,
393
,
450
,
451
,
454
,
455
,
456
,
341
,
/* 430 */
458
,
459
,
341
,
458
,
140
,
141
,
461
,
100
,
115
,
351
,
/* 440 */
103
,
353
,
8
,
9
,
424
,
471
,
12
,
13
,
14
,
15
,
/* 450 */
16
,
476
,
477
,
12
,
13
,
14
,
481
,
482
,
346
,
341
,
/* 460 */
137
,
20
,
350
,
22
,
352
,
200
,
159
,
379
,
203
,
351
,
/* 470 */
434
,
206
,
431
,
208
,
33
,
1
68
,
35
,
140
,
141
,
391
,
/* 480 */
3
57
,
393
,
391
,
21
,
204
,
205
,
24
,
25
,
26
,
27
,
/* 490 */
28
,
29
,
30
,
31
,
32
,
244
,
103
,
379
,
457
,
350
,
/* 500 */
351
,
170
,
171
,
62
,
350
,
382
,
14
,
170
,
171
,
391
,
/* 510 */
371
,
393
,
20
,
176
,
177
,
427
,
75
,
429
,
379
,
260
,
/* 520 */
432
,
433
,
434
,
435
,
436
,
437
,
387
,
439
,
191
,
7
5
,
/* 530 */
193
,
103
,
444
,
21
,
446
,
244
,
193
,
246
,
450
,
451
,
/* 540 */
67
,
100
,
350
,
351
,
103
,
427
,
34
,
429
,
36
,
341
,
/* 550 */
432
,
433
,
434
,
435
,
436
,
437
,
4
02
,
439
,
404
,
35
1
,
/* 350 */
13
,
350
,
351
,
103
,
380
,
380
,
75
,
20
,
14
,
22
,
/* 360 */
84
,
386
,
20
,
282
,
20
,
391
,
172
,
393
,
380
,
394
,
/* 370 */
33
,
3
70
,
35
,
70
,
71
,
72
,
350
,
351
,
377
,
35
7
,
/* 380 */
77
,
78
,
79
,
20
,
44
,
22
,
83
,
399
,
400
,
103
,
/* 390 */
378
,
88
,
89
,
90
,
91
,
217
,
370
,
94
,
35
,
62
,
/* 400 */
431
,
427
,
390
,
429
,
382
,
68
,
432
,
433
,
434
,
435
,
/* 410 */
436
,
437
,
75
,
439
,
350
,
351
,
53
,
387
,
444
,
22
,
/* 420 */
446
,
1
45
,
146
,
4
,
450
,
451
,
457
,
170
,
171
,
341
,
/* 430 */
260
,
135
,
35
,
458
,
370
,
139
,
461
,
100
,
0
,
351
,
/* 440 */
103
,
353
,
8
,
9
,
168
,
471
,
12
,
13
,
14
,
15
,
/* 450 */
16
,
476
,
477
,
12
,
13
,
14
,
481
,
482
,
417
,
341
,
/* 460 */
0
,
20
,
43
,
22
,
45
,
46
,
380
,
389
,
380
,
351
,
/* 470 */
392
,
393
,
386
,
186
,
33
,
3
68
,
35
,
140
,
141
,
391
,
/* 480 */
3
94
,
393
,
140
,
141
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 490 */
30
,
31
,
32
,
350
,
351
,
20
,
200
,
100
,
380
,
203
,
/* 500 */
213
,
214
,
206
,
62
,
208
,
67
,
14
,
170
,
171
,
391
,
/* 510 */
260
,
393
,
20
,
176
,
177
,
427
,
75
,
429
,
176
,
177
,
/* 520 */
432
,
433
,
434
,
435
,
436
,
437
,
442
,
439
,
191
,
44
5
,
/* 530 */
193
,
0
,
444
,
342
,
446
,
350
,
351
,
401
,
450
,
451
,
/* 540 */
397
,
100
,
350
,
351
,
103
,
427
,
260
,
429
,
392
,
393
,
/* 550 */
432
,
433
,
434
,
435
,
436
,
437
,
4
38
,
439
,
440
,
44
1
,
/* 560 */
223
,
224
,
370
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
/* 570 */
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
242
,
/* 580 */
243
,
140
,
141
,
190
,
20
,
192
,
341
,
379
,
8
,
9
,
/* 590 */
472
,
473
,
12
,
13
,
14
,
15
,
16
,
114
,
341
,
391
,
/* 600 */
20
,
393
,
453
,
454
,
455
,
456
,
172
,
458
,
459
,
379
,
/* 610 */
0
,
170
,
171
,
350
,
351
,
222
,
386
,
176
,
177
,
350
,
/* 620 */
351
,
8
,
9
,
371
,
394
,
12
,
13
,
14
,
15
,
1
6
,
/* 630 */
431
,
379
,
191
,
370
,
193
,
427
,
391
,
429
,
386
,
387
,
/* 640 */
4
32
,
433
,
434
,
435
,
436
,
437
,
394
,
439
,
391
,
47
,
/* 650 */
411
,
341
,
444
,
260
,
446
,
416
,
457
,
411
,
450
,
451
,
/* 660 */
50
,
351
,
170
,
353
,
223
,
224
,
397
,
226
,
227
,
228
,
/* 580 */
243
,
140
,
141
,
8
,
9
,
350
,
351
,
12
,
13
,
14
,
/* 590 */
15
,
16
,
8
,
9
,
22
,
20
,
12
,
13
,
14
,
15
,
/* 600 */
16
,
70
,
71
,
72
,
223
,
370
,
172
,
35
,
77
,
78
,
/* 610 */
79
,
170
,
171
,
22
,
83
,
140
,
141
,
176
,
177
,
88
,
/* 620 */
89
,
90
,
91
,
380
,
284
,
94
,
35
,
371
,
44
,
38
6
,
/* 630 */
350
,
351
,
191
,
37
,
193
,
379
,
380
,
394
,
453
,
454
,
/* 640 */
4
55
,
456
,
485
,
458
,
459
,
350
,
351
,
411
,
341
,
0
,
/* 650 */
370
,
270
,
271
,
272
,
273
,
274
,
275
,
276
,
351
,
20
,
/* 660 */
353
,
35
,
170
,
39
,
223
,
224
,
0
,
226
,
227
,
228
,
/* 670 */
229
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
/* 680 */
239
,
240
,
241
,
242
,
243
,
12
,
13
,
0
,
260
,
379
,
/* 690 */
115
,
350
,
351
,
20
,
75
,
22
,
175
,
458
,
350
,
35
1
,
/* 700 */
461
,
391
,
186
,
393
,
458
,
103
,
33
,
461
,
35
,
134
,
/* 710 */
135
,
136
,
137
,
138
,
139
,
476
,
477
,
443
,
370
,
445
,
/* 720 */
481
,
482
,
476
,
477
,
14
,
15
,
16
,
481
,
482
,
2
13
,
/* 730 */
214
,
223
,
84
,
350
,
351
,
62
,
172
,
427
,
397
,
429
,
/* 740 */
4
,
380
,
432
,
433
,
434
,
435
,
436
,
437
,
75
,
439
,
/* 750 */
350
,
351
,
172
,
370
,
444
,
19
,
446
,
0
,
8
,
9
,
/* 760 */
450
,
451
,
12
,
13
,
14
,
15
,
16
,
341
,
14
,
3
3
,
/* 770 */
370
,
350
,
351
,
100
,
20
,
62
,
103
,
351
,
270
,
271
,
/* 780 */
272
,
273
,
274
,
275
,
276
,
49
,
265
,
266
,
267
,
12
,
/* 790 */
13
,
3
70
,
56
,
145
,
146
,
371
,
183
,
20
,
62
,
22
,
/* 800 */
350
,
351
,
115
,
379
,
103
,
379
,
0
,
341
,
355
,
356
,
/* 810 */
33
,
387
,
35
,
140
,
141
,
102
,
168
,
391
,
105
,
393
,
/* 820 */
370
,
134
,
135
,
136
,
137
,
138
,
139
,
70
,
71
,
72
,
/* 830 */
350
,
351
,
48
,
417
,
77
,
78
,
79
,
20
,
102
,
62
,
/* 840 */
83
,
105
,
368
,
170
,
171
,
88
,
89
,
90
,
91
,
176
,
/* 850 */
177
,
94
,
75
,
427
,
104
,
429
,
380
,
391
,
432
,
433
,
/* 860 */
434
,
435
,
436
,
437
,
191
,
439
,
193
,
441
,
8
,
9
,
/* 870 */
350
,
351
,
12
,
13
,
14
,
15
,
16
,
100
,
341
,
380
,
/* 880 */
103
,
341
,
12
,
13
,
14
,
15
,
16
,
54
,
55
,
14
,
/* 890 */
370
,
351
,
20
,
353
,
22
,
20
,
223
,
224
,
285
,
226
,
/* 680 */
239
,
240
,
241
,
242
,
243
,
12
,
13
,
380
,
104
,
350
,
/* 690 */
351
,
100
,
397
,
20
,
458
,
22
,
375
,
461
,
391
,
34
1
,
/* 700 */
393
,
75
,
106
,
474
,
108
,
109
,
33
,
111
,
35
,
370
,
/* 710 */
35
,
115
,
476
,
477
,
0
,
8
,
9
,
481
,
482
,
12
,
/* 720 */
13
,
14
,
15
,
16
,
8
,
9
,
54
,
55
,
12
,
13
,
/* 730 */
14
,
15
,
16
,
137
,
427
,
62
,
429
,
355
,
356
,
432
,
/* 740 */
433
,
434
,
435
,
436
,
437
,
424
,
439
,
172
,
75
,
391
,
/* 750 */
75
,
444
,
62
,
446
,
431
,
8
,
9
,
450
,
451
,
12
,
/* 760 */
13
,
14
,
15
,
16
,
115
,
1
,
2
,
341
,
12
,
1
3
,
/* 770 */
14
,
15
,
16
,
100
,
350
,
351
,
103
,
351
,
4
,
175
,
/* 780 */
457
,
115
,
380
,
134
,
135
,
136
,
137
,
138
,
139
,
12
,
/* 790 */
13
,
3
54
,
102
,
19
,
370
,
105
,
394
,
20
,
431
,
22
,
/* 800 */
134
,
135
,
136
,
137
,
138
,
139
,
380
,
33
,
355
,
356
,
/* 810 */
33
,
172
,
35
,
140
,
141
,
2
,
468
,
391
,
134
,
393
,
/* 820 */
104
,
8
,
9
,
49
,
457
,
12
,
13
,
14
,
15
,
16
,
/* 830 */
56
,
367
,
350
,
350
,
350
,
351
,
62
,
350
,
351
,
62
,
/* 840 */
134
,
135
,
14
,
170
,
171
,
139
,
169
,
367
,
20
,
176
,
/* 850 */
177
,
104
,
75
,
427
,
370
,
429
,
380
,
370
,
432
,
433
,
/* 860 */
434
,
435
,
436
,
437
,
191
,
439
,
193
,
441
,
104
,
265
,
/* 870 */
266
,
267
,
411
,
159
,
350
,
351
,
102
,
100
,
341
,
105
,
/* 880 */
103
,
341
,
168
,
259
,
402
,
402
,
404
,
404
,
204
,
205
,
/* 890 */
183
,
351
,
388
,
353
,
370
,
391
,
223
,
224
,
3
,
226
,
/* 900 */
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
/* 910 */
237
,
238
,
239
,
240
,
241
,
242
,
243
,
140
,
141
,
379
,
/* 920 */
3
59
,
115
,
355
,
356
,
170
,
53
,
350
,
3
,
391
,
350
,
/* 930 */
351
,
391
,
380
,
393
,
454
,
455
,
456
,
376
,
458
,
459
,
/* 940 */
134
,
135
,
136
,
137
,
138
,
139
,
385
,
170
,
171
,
370
,
/* 950 */
380
,
350
,
351
,
176
,
177
,
401
,
172
,
364
,
365
,
4
,
/* 960 */
379
,
260
,
169
,
179
,
104
,
350
,
351
,
427
,
191
,
429
,
/* 970 */
193
,
3
70
,
432
,
433
,
434
,
435
,
436
,
437
,
402
,
439
,
/* 980 */
404
,
400
,
2
,
341
,
444
,
370
,
446
,
170
,
8
,
9
,
/* 990 */
450
,
451
,
12
,
13
,
14
,
15
,
16
,
350
,
364
,
365
,
/* 910 */
237
,
238
,
239
,
240
,
241
,
242
,
243
,
140
,
141
,
458
,
/* 920 */
3
80
,
367
,
461
,
388
,
247
,
367
,
391
,
367
,
391
,
12
,
/* 930 */
13
,
391
,
410
,
393
,
257
,
381
,
354
,
476
,
477
,
381
,
/* 940 */
14
,
381
,
481
,
482
,
341
,
391
,
20
,
170
,
171
,
391
,
/* 950 */
2
,
391
,
35
,
176
,
177
,
4
,
8
,
9
,
364
,
365
,
/* 960 */
12
,
13
,
14
,
15
,
16
,
350
,
351
,
427
,
191
,
429
,
/* 970 */
193
,
3
41
,
432
,
433
,
434
,
435
,
436
,
437
,
48
,
439
,
/* 980 */
14
,
15
,
16
,
429
,
444
,
370
,
446
,
429
,
430
,
42
9
,
/* 990 */
450
,
451
,
285
,
439
,
391
,
350
,
351
,
439
,
170
,
439
,
/* 1000 */
223
,
224
,
0
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
/* 1010 */
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
242
,
/* 1020 */
243
,
0
,
18
,
18
,
20
,
350
,
351
,
341
,
23
,
39
,
/* 1030 */
443
,
27
,
445
,
391
,
30
,
359
,
442
,
33
,
367
,
445
,
/* 1040 */
247
,
388
,
37
,
38
,
391
,
370
,
41
,
350
,
351
,
402
,
/* 1050 */
2
57
,
404
,
381
,
49
,
411
,
51
,
379
,
52
,
20
,
20
,
/* 1060 */
56
,
385
,
391
,
341
,
387
,
341
,
341
,
370
,
63
,
64
,
/* 1020 */
243
,
391
,
18
,
18
,
20
,
115
,
103
,
341
,
23
,
350
,
/* 1030 */
351
,
27
,
350
,
351
,
30
,
350
,
351
,
33
,
350
,
351
,
/* 1040 */
364
,
365
,
37
,
38
,
350
,
351
,
41
,
137
,
244
,
370
,
/* 1050 */
2
46
,
401
,
370
,
49
,
371
,
51
,
351
,
52
,
370
,
443
,
/* 1060 */
56
,
445
,
379
,
380
,
370
,
401
,
341
,
341
,
63
,
64
,
/* 1070 */
65
,
66
,
70
,
71
,
72
,
73
,
74
,
391
,
76
,
77
,
/* 1080 */
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
87
,
/* 1090 */
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
22
,
/* 1100 */
4
29
,
458
,
350
,
351
,
461
,
13
,
102
,
33
,
103
,
37
,
/* 1110 */
439
,
379
,
35
,
391
,
379
,
391
,
391
,
22
,
114
,
476
,
/* 1120 */
477
,
386
,
370
,
49
,
481
,
482
,
394
,
35
,
379
,
394
,
/* 1130 */
35
,
57
,
58
,
59
,
60
,
386
,
62
,
372
,
366
,
388
,
/* 1140 */
375
,
369
,
391
,
394
,
341
,
44
,
341
,
142
,
144
,
341
,
/* 1150 */
44
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
/* 1160 */
156
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
34
1
,
165
,
/* 1170 */
166
,
167
,
3
50
,
351
,
45
,
46
,
102
,
100
,
106
,
105
,
/* 1180 */
108
,
109
,
42
,
111
,
44
,
341
,
341
,
115
,
183
,
184
,
/* 1190 */
185
,
341
,
3
70
,
188
,
391
,
100
,
391
,
258
,
259
,
39
1
,
/* 1200 */
3
41
,
351
,
388
,
353
,
280
,
391
,
201
,
202
,
0
,
137
,
/* 1210 */
172
,
172
,
42
,
114
,
44
,
44
,
261
,
212
,
391
,
207
,
/* 1220 */
215
,
209
,
341
,
218
,
219
,
220
,
221
,
222
,
44
,
379
,
/* 1230 */
107
,
22
,
351
,
110
,
353
,
391
,
391
,
0
,
217
,
107
,
/* 1240 */
68
,
391
,
110
,
393
,
35
,
13
,
0
,
173
,
174
,
259
,
/* 1250 */
391
,
342
,
341
,
35
,
180
,
181
,
107
,
49
,
0
,
110
,
/* 1260 */
379
,
44
,
351
,
164
,
353
,
260
,
107
,
35
,
22
,
110
,
/* 1270 */
0
,
35
,
391
,
199
,
393
,
104
,
62
,
427
,
47
4
,
429
,
/* 1280 */
22
,
44
,
432
,
433
,
434
,
435
,
436
,
437
,
104
,
439
,
/* 1290 */
379
,
44
,
22
,
75
,
444
,
35
,
446
,
140
,
141
,
44
,
/* 1300 */
450
,
451
,
391
,
485
,
393
,
354
,
44
,
44
,
427
,
468
,
/* 1310 */
4
29
,
367
,
367
,
432
,
433
,
434
,
435
,
436
,
437
,
105
,
/* 1320 */
439
,
104
,
44
,
410
,
22
,
444
,
44
,
446
,
379
,
44
,
/* 1330 */
44
,
450
,
451
,
44
,
1
,
2
,
44
,
35
,
427
,
44
,
/* 1340 */
429
,
354
,
341
,
432
,
433
,
434
,
435
,
436
,
437
,
44
,
/* 1350 */
439
,
104
,
351
,
12
,
13
,
444
,
13
,
446
,
2
,
10
4
,
/* 1360 */
401
,
450
,
451
,
22
,
8
,
9
,
104
,
104
,
12
,
13
,
/* 1370 */
14
,
15
,
16
,
341
,
33
,
349
,
35
,
75
,
35
,
44
,
/* 1380 */
3
79
,
351
,
104
,
351
,
44
,
284
,
104
,
390
,
282
,
10
4
,
/* 1390 */
104
,
13
,
391
,
104
,
393
,
223
,
104
,
44
,
44
,
104
,
/* 1400 */
401
,
460
,
100
,
62
,
478
,
452
,
262
,
412
,
462
,
104
,
/* 1410 */
341
,
379
,
44
,
35
,
49
,
20
,
75
,
428
,
206
,
421
,
/* 1420 */
3
51
,
359
,
426
,
391
,
421
,
393
,
359
,
189
,
427
,
193
,
/* 1430 */
429
,
414
,
351
,
432
,
433
,
434
,
435
,
436
,
437
,
104
,
/* 1440 */
439
,
100
,
20
,
42
,
104
,
444
,
398
,
446
,
379
,
20
,
/* 1450 */
401
,
450
,
451
,
193
,
351
,
398
,
169
,
104
,
104
,
427
,
/* 1460 */
391
,
429
,
393
,
20
,
432
,
433
,
434
,
435
,
436
,
437
,
/* 1470 */
350
,
439
,
104
,
351
,
396
,
350
,
444
,
398
,
446
,
396
,
/* 1480 */
396
,
101
,
450
,
451
,
363
,
99
,
362
,
350
,
98
,
361
,
/* 1490 */
20
,
411
,
350
,
191
,
343
,
193
,
427
,
350
,
429
,
341
,
/* 1500 */
35
0
,
432
,
433
,
434
,
435
,
436
,
437
,
48
,
439
,
351
,
/* 1510 */
3
47
,
343
,
347
,
359
,
421
,
446
,
20
,
20
,
352
,
450
,
/* 1520 */
4
51
,
359
,
20
,
393
,
413
,
223
,
224
,
352
,
359
,
35
0
,
/* 1530 */
343
,
379
,
191
,
359
,
193
,
359
,
359
,
379
,
458
,
359
,
/* 1540 */
379
,
461
,
343
,
379
,
350
,
103
,
379
,
391
,
341
,
391
,
/* 1550 */
42
3
,
393
,
379
,
357
,
210
,
197
,
476
,
477
,
351
,
425
,
/* 1560 */
379
,
481
,
482
,
420
,
223
,
224
,
421
,
379
,
379
,
379
,
/* 1570 */
379
,
379
,
196
,
391
,
341
,
350
,
391
,
236
,
237
,
238
,
/* 1580 */
239
,
240
,
241
,
242
,
351
,
427
,
379
,
429
,
393
,
195
,
/* 1590 */
432
,
433
,
434
,
435
,
436
,
437
,
357
,
439
,
391
,
26
9
,
/* 1600 */
3
93
,
401
,
419
,
401
,
446
,
467
,
391
,
268
,
450
,
451
,
/* 1610 */
4
12
,
418
,
379
,
391
,
391
,
467
,
406
,
406
,
391
,
277
,
/* 1620 */
182
,
486
,
467
,
470
,
391
,
341
,
393
,
279
,
278
,
469
,
/* 1630 */
263
,
412
,
283
,
286
,
427
,
351
,
429
,
20
,
341
,
432
,
/* 1640 */
4
33
,
434
,
435
,
436
,
437
,
281
,
439
,
259
,
351
,
351
,
/* 1650 */
357
,
431
,
466
,
446
,
20
,
352
,
357
,
450
,
451
,
406
,
/* 1660 */
427
,
464
,
429
,
379
,
391
,
432
,
433
,
434
,
435
,
436
,
/* 1670 */
4
37
,
438
,
439
,
440
,
441
,
391
,
379
,
393
,
465
,
404
,
/* 1680 */
406
,
480
,
479
,
174
,
403
,
391
,
357
,
341
,
391
,
375
,
/* 1690 */
393
,
391
,
391
,
357
,
103
,
391
,
351
,
351
,
391
,
449
,
/* 1700 */
103
,
383
,
391
,
369
,
341
,
350
,
36
,
0
,
357
,
339
,
/* 1710 */
344
,
427
,
343
,
429
,
351
,
407
,
432
,
433
,
434
,
435
,
/* 1720 */
43
6
,
437
,
407
,
439
,
427
,
379
,
429
,
415
,
422
,
432
,
/* 1730 */
433
,
434
,
435
,
436
,
437
,
373
,
439
,
391
,
0
,
393
,
/* 1740 */
358
,
0
,
379
,
446
,
373
,
373
,
42
,
384
,
451
,
0
,
/* 1750 */
35
,
216
,
35
,
341
,
391
,
35
,
393
,
35
,
216
,
0
,
/* 1760 */
35
,
35
,
216
,
351
,
0
,
216
,
0
,
483
,
484
,
35
,
/* 1770 */
0
,
0
,
22
,
427
,
35
,
429
,
211
,
341
,
432
,
433
,
/* 1780 */
43
4
,
435
,
436
,
437
,
0
,
439
,
199
,
351
,
0
,
199
,
/* 1790 */
4
27
,
379
,
429
,
200
,
193
,
432
,
433
,
434
,
435
,
436
,
/* 1800 */
437
,
191
,
439
,
391
,
341
,
393
,
0
,
0
,
0
,
187
,
/* 1810 */
186
,
0
,
0
,
0
,
351
,
379
,
47
,
0
,
0
,
473
,
/* 1820 */
384
,
47
,
0
,
42
,
341
,
0
,
0
,
391
,
0
,
393
,
/* 1830 */
47
,
0
,
0
,
0
,
351
,
0
,
0
,
0
,
159
,
427
,
/* 1840 */
35
,
429
,
379
,
0
,
432
,
433
,
434
,
435
,
436
,
437
,
/* 1850 */
159
,
439
,
0
,
0
,
391
,
0
,
393
,
0
,
0
,
0
,
/* 1860 */
0
,
0
,
379
,
427
,
0
,
429
,
0
,
384
,
432
,
433
,
/* 1870 */
434
,
435
,
436
,
437
,
391
,
439
,
393
,
47
,
0
,
0
,
/* 1880 */
42
,
0
,
0
,
0
,
0
,
0
,
62
,
475
,
0
,
0
,
/* 1890 */
427
,
341
,
429
,
0
,
0
,
432
,
433
,
434
,
435
,
436
,
/* 1900 */
437
,
351
,
439
,
0
,
0
,
0
,
0
,
0
,
22
,
0
,
/* 1910 */
427
,
143
,
429
,
0
,
22
,
432
,
433
,
434
,
435
,
436
,
/* 1920 */
43
7
,
341
,
439
,
48
,
48
,
0
,
35
,
0
,
0
,
379
,
/* 1930 */
22
,
351
,
62
,
62
,
384
,
0
,
0
,
39
,
0
,
4
9
,
/* 1940 */
39
,
391
,
0
,
393
,
49
,
35
,
35
,
484
,
49
,
35
,
/* 1950 */
0
,
39
,
35
,
0
,
14
,
39
,
0
,
42
,
0
,
379
,
/* 1960 */
0
,
39
,
44
,
40
,
384
,
0
,
47
,
47
,
47
,
39
,
/* 1970 */
0
,
391
,
182
,
393
,
35
,
49
,
39
,
427
,
0
,
429
,
/* 1980 */
341
,
0
,
432
,
433
,
434
,
435
,
436
,
437
,
1
,
439
,
/* 1990 */
351
,
0
,
0
,
69
,
0
,
49
,
35
,
0
,
39
,
35
,
/* 2000 */
49
,
39
,
0
,
35
,
49
,
39
,
19
,
427
,
0
,
429
,
/* 2010 */
0
,
0
,
432
,
433
,
434
,
435
,
436
,
437
,
379
,
439
,
/* 2020 */
33
,
0
,
0
,
0
,
0
,
35
,
22
,
44
,
35
,
44
,
/* 2030 */
391
,
35
,
393
,
35
,
35
,
35
,
49
,
0
,
35
,
22
,
/* 2040 */
35
,
112
,
110
,
0
,
57
,
58
,
59
,
60
,
35
,
62
,
/* 2050 */
35
,
35
,
22
,
341
,
22
,
0
,
22
,
51
,
0
,
0
,
/* 2060 */
35
,
35
,
35
,
351
,
0
,
0
,
427
,
22
,
429
,
20
,
/* 2070 */
35
,
432
,
433
,
434
,
435
,
436
,
437
,
35
,
439
,
35
,
/* 2080 */
104
,
35
,
103
,
103
,
341
,
198
,
0
,
0
,
22
,
102
,
/* 2090 */
194
,
379
,
105
,
22
,
351
,
0
,
3
,
44
,
264
,
10
4
,
/* 2100 */
48
,
44
,
3
,
391
,
103
,
393
,
172
,
174
,
48
,
178
,
/* 2110 */
47
,
99
,
103
,
172
,
44
,
172
,
172
,
44
,
104
,
341
,
/* 2120 */
101
,
103
,
379
,
178
,
104
,
138
,
47
,
44
,
44
,
351
,
/* 2130 */
258
,
103
,
103
,
264
,
391
,
104
,
393
,
104
,
264
,
427
,
/* 2140 */
104
,
429
,
103
,
35
,
432
,
433
,
434
,
435
,
436
,
437
,
/* 2150 */
35
,
439
,
35
,
35
,
35
,
35
,
341
,
379
,
47
,
47
,
/* 2160 */
173
,
0
,
0
,
47
,
39
,
104
,
351
,
180
,
44
,
391
,
/* 2170 */
427
,
393
,
429
,
104
,
0
,
432
,
433
,
434
,
435
,
436
,
/* 2180 */
43
7
,
341
,
439
,
103
,
103
,
103
,
199
,
39
,
113
,
104
,
/* 2190 */
47
,
351
,
104
,
103
,
379
,
103
,
44
,
103
,
101
,
245
,
/* 2200 */
2
,
101
,
22
,
47
,
103
,
427
,
391
,
429
,
393
,
223
,
/* 2210 */
43
2
,
433
,
434
,
435
,
436
,
437
,
175
,
439
,
341
,
379
,
/* 2220 */
173
,
22
,
47
,
114
,
35
,
104
,
104
,
35
,
351
,
103
,
/* 2230 */
103
,
391
,
104
,
393
,
103
,
103
,
35
,
104
,
103
,
35
,
/* 2240 */
104
,
103
,
427
,
341
,
429
,
104
,
104
,
432
,
433
,
434
,
/* 2250 */
435
,
436
,
437
,
351
,
439
,
104
,
379
,
103
,
103
,
35
,
/* 2260 */
103
,
35
,
104
,
225
,
104
,
35
,
103
,
427
,
391
,
429
,
/* 2270 */
393
,
103
,
432
,
433
,
434
,
435
,
436
,
437
,
22
,
439
,
/* 2280 */
103
,
379
,
115
,
44
,
103
,
126
,
35
,
103
,
22
,
69
,
/* 2290 */
126
,
126
,
126
,
391
,
35
,
393
,
68
,
35
,
35
,
35
,
/* 2300 */
35
,
44
,
35
,
35
,
427
,
35
,
429
,
75
,
97
,
432
,
/* 2310 */
433
,
434
,
435
,
436
,
437
,
341
,
439
,
35
,
35
,
35
,
/* 2320 */
22
,
35
,
35
,
35
,
75
,
351
,
35
,
35
,
35
,
42
7
,
/* 2330 */
341
,
429
,
35
,
0
,
432
,
433
,
434
,
435
,
436
,
43
7
,
/* 2340 */
351
,
439
,
35
,
22
,
35
,
35
,
0
,
39
,
341
,
49
,
/* 2350 */
35
,
49
,
39
,
379
,
0
,
35
,
39
,
0
,
351
,
35
,
/* 2360 */
0
,
49
,
39
,
49
,
35
,
391
,
0
,
393
,
379
,
35
,
/* 2370 */
22
,
21
,
487
,
22
,
22
,
487
,
21
,
487
,
20
,
487
,
/* 2380 */
3
91
,
487
,
393
,
487
,
487
,
487
,
379
,
487
,
487
,
487
,
/* 2390 */
487
,
487
,
487
,
487
,
487
,
341
,
487
,
487
,
391
,
487
,
/* 2400 */
393
,
427
,
487
,
429
,
487
,
351
,
432
,
433
,
434
,
435
,
/* 2410 */
4
36
,
437
,
487
,
439
,
487
,
487
,
427
,
341
,
429
,
487
,
/* 2420 */
4
87
,
432
,
433
,
434
,
435
,
436
,
437
,
351
,
439
,
487
,
/* 2430 */
487
,
487
,
487
,
379
,
427
,
487
,
429
,
487
,
487
,
432
,
/* 2440 */
433
,
434
,
435
,
436
,
437
,
391
,
439
,
393
,
487
,
487
,
/* 2450 */
487
,
487
,
487
,
487
,
487
,
379
,
487
,
487
,
487
,
487
,
/* 2460 */
487
,
487
,
487
,
487
,
341
,
487
,
487
,
391
,
487
,
393
,
/* 2470 */
4
87
,
487
,
487
,
487
,
351
,
487
,
487
,
487
,
487
,
487
,
/* 2480 */
487
,
4
27
,
487
,
429
,
487
,
487
,
432
,
433
,
434
,
435
,
/* 2490 */
436
,
437
,
487
,
439
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2500 */
487
,
487
,
379
,
427
,
487
,
429
,
487
,
487
,
432
,
433
,
/* 2510 */
4
34
,
435
,
436
,
437
,
391
,
439
,
393
,
487
,
487
,
487
,
/* 2520 */
487
,
487
,
487
,
341
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2530 */
487
,
487
,
487
,
351
,
487
,
487
,
341
,
487
,
487
,
487
,
/* 2540 */
487
,
4
87
,
487
,
487
,
487
,
487
,
351
,
487
,
487
,
487
,
/* 2550 */
4
27
,
487
,
429
,
341
,
487
,
432
,
433
,
434
,
435
,
436
,
/* 2560 */
4
37
,
379
,
439
,
351
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2570 */
487
,
487
,
487
,
391
,
379
,
393
,
487
,
487
,
487
,
487
,
/* 2580 */
487
,
487
,
487
,
487
,
487
,
341
,
391
,
487
,
393
,
487
,
/* 2590 */
487
,
379
,
487
,
487
,
487
,
351
,
487
,
487
,
487
,
487
,
/* 2600 */
4
87
,
487
,
487
,
391
,
487
,
393
,
487
,
487
,
487
,
42
7
,
/* 2610 */
487
,
4
29
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
43
7
,
/* 2620 */
487
,
4
39
,
427
,
379
,
429
,
487
,
487
,
432
,
433
,
434
,
/* 2630 */
4
35
,
436
,
437
,
487
,
439
,
391
,
487
,
393
,
487
,
42
7
,
/* 2640 */
487
,
4
29
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
43
7
,
/* 2650 */
487
,
4
39
,
341
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2660 */
487
,
487
,
351
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2670 */
487
,
427
,
341
,
429
,
487
,
487
,
432
,
433
,
434
,
435
,
/* 2680 */
436
,
437
,
351
,
439
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2690 */
379
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2700 */
487
,
487
,
391
,
487
,
393
,
487
,
487
,
487
,
487
,
487
,
/* 2710 */
3
79
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2720 */
487
,
487
,
391
,
487
,
393
,
487
,
487
,
487
,
487
,
487
,
/* 2730 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
427
,
487
,
/* 2740 */
4
29
,
487
,
341
,
432
,
433
,
434
,
435
,
436
,
437
,
487
,
/* 2750 */
4
39
,
487
,
351
,
487
,
487
,
487
,
487
,
487
,
427
,
341
,
/* 2760 */
4
29
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
437
,
351
,
/* 2770 */
439
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2780 */
379
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2790 */
487
,
487
,
391
,
487
,
393
,
487
,
487
,
379
,
487
,
487
,
/* 2800 */
487
,
487
,
487
,
487
,
487
,
487
,
4
87
,
487
,
487
,
391
,
/* 2810 */
487
,
393
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2820 */
487
,
4
87
,
487
,
487
,
487
,
487
,
487
,
487
,
427
,
487
,
/* 2830 */
4
29
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
43
7
,
487
,
/* 2840 */
4
39
,
487
,
487
,
487
,
487
,
427
,
487
,
429
,
487
,
487
,
/* 2850 */
43
2
,
433
,
434
,
435
,
436
,
437
,
487
,
439
,
338
,
338
,
/* 2860 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2870 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2880 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2890 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2900 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2910 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2920 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2930 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2940 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2950 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2960 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2970 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2980 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 2990 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3000 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3010 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3020 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3030 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 1090 */
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
454
,
/* 1100 */
4
55
,
456
,
172
,
458
,
459
,
20
,
102
,
33
,
103
,
179
,
/* 1110 */
193
,
371
,
443
,
190
,
445
,
192
,
391
,
391
,
114
,
379
,
/* 1120 */
380
,
379
,
380
,
49
,
20
,
357
,
350
,
351
,
341
,
350
,
/* 1130 */
351
,
57
,
58
,
59
,
60
,
341
,
62
,
341
,
20
,
454
,
/* 1140 */
455
,
456
,
374
,
458
,
459
,
222
,
370
,
142
,
144
,
370
,
/* 1150 */
382
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
/* 1160 */
156
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
41
1
,
165
,
/* 1170 */
166
,
167
,
3
41
,
349
,
359
,
280
,
102
,
68
,
391
,
105
,
/* 1180 */
379
,
380
,
341
,
260
,
460
,
391
,
341
,
391
,
183
,
184
,
/* 1190 */
185
,
341
,
3
41
,
188
,
341
,
341
,
341
,
379
,
380
,
34
1
,
/* 1200 */
3
85
,
351
,
35
,
353
,
379
,
380
,
201
,
202
,
379
,
380
,
/* 1210 */
388
,
372
,
261
,
391
,
375
,
458
,
0
,
212
,
461
,
341
,
/* 1220 */
215
,
0
,
391
,
218
,
219
,
220
,
221
,
222
,
114
,
351
,
/* 1230 */
380
,
353
,
391
,
476
,
477
,
44
,
391
,
366
,
481
,
482
,
/* 1240 */
369
,
391
,
391
,
393
,
391
,
391
,
391
,
173
,
174
,
391
,
/* 1250 */
45
,
46
,
341
,
107
,
180
,
181
,
110
,
172
,
380
,
13
,
/* 1260 */
44
,
42
,
351
,
44
,
353
,
260
,
258
,
259
,
35
,
391
,
/* 1270 */
49
,
393
,
42
,
199
,
44
,
13
,
172
,
427
,
16
4
,
429
,
/* 1280 */
390
,
35
,
432
,
433
,
434
,
435
,
436
,
437
,
170
,
439
,
/* 1290 */
107
,
380
,
478
,
110
,
444
,
104
,
446
,
35
,
0
,
0
,
/* 1300 */
450
,
451
,
391
,
107
,
393
,
427
,
110
,
429
,
0
,
44
,
/* 1310 */
4
32
,
433
,
434
,
435
,
436
,
437
,
107
,
439
,
44
,
110
,
/* 1320 */
22
,
22
,
444
,
207
,
446
,
209
,
140
,
141
,
450
,
451
,
/* 1330 */
22
,
44
,
223
,
44
,
13
,
44
,
44
,
452
,
427
,
44
,
/* 1340 */
429
,
44
,
341
,
432
,
433
,
434
,
435
,
436
,
437
,
462
,
/* 1350 */
439
,
44
,
351
,
12
,
13
,
444
,
35
,
446
,
44
,
4
4
,
/* 1360 */
193
,
450
,
451
,
22
,
115
,
1
,
2
,
44
,
262
,
104
,
/* 1370 */
341
,
44
,
412
,
49
,
33
,
0
,
35
,
428
,
104
,
20
,
/* 1380 */
3
51
,
380
,
421
,
134
,
135
,
136
,
137
,
138
,
139
,
4
4
,
/* 1390 */
44
,
104
,
391
,
104
,
393
,
104
,
104
,
44
,
206
,
104
,
/* 1400 */
44
,
104
,
13
,
62
,
103
,
426
,
359
,
44
,
421
,
380
,
/* 1410 */
44
,
104
,
359
,
189
,
113
,
351
,
75
,
414
,
104
,
104
,
/* 1420 */
3
91
,
20
,
393
,
42
,
35
,
50
,
193
,
104
,
427
,
398
,
/* 1430 */
429
,
104
,
341
,
432
,
433
,
434
,
435
,
436
,
437
,
20
,
/* 1440 */
439
,
100
,
351
,
401
,
351
,
444
,
398
,
446
,
169
,
104
,
/* 1450 */
104
,
450
,
451
,
396
,
20
,
350
,
427
,
104
,
429
,
351
,
/* 1460 */
104
,
432
,
433
,
434
,
435
,
436
,
437
,
104
,
439
,
350
,
/* 1470 */
104
,
380
,
101
,
444
,
398
,
446
,
396
,
396
,
363
,
450
,
/* 1480 */
451
,
99
,
391
,
362
,
393
,
350
,
98
,
361
,
350
,
350
,
/* 1490 */
350
,
20
,
343
,
48
,
347
,
343
,
421
,
347
,
20
,
341
,
/* 1500 */
35
9
,
359
,
20
,
393
,
20
,
352
,
352
,
413
,
343
,
351
,
/* 1510 */
3
59
,
350
,
380
,
380
,
359
,
359
,
359
,
380
,
427
,
359
,
/* 1520 */
4
29
,
350
,
343
,
432
,
433
,
434
,
435
,
436
,
437
,
21
0
,
/* 1530 */
439
,
103
,
191
,
421
,
193
,
444
,
391
,
446
,
380
,
380
,
/* 1540 */
423
,
450
,
451
,
380
,
380
,
425
,
380
,
357
,
197
,
391
,
/* 1550 */
42
0
,
393
,
357
,
391
,
350
,
419
,
196
,
195
,
268
,
391
,
/* 1560 */
470
,
341
,
393
,
269
,
223
,
224
,
418
,
391
,
467
,
391
,
/* 1570 */
467
,
351
,
391
,
391
,
401
,
401
,
406
,
236
,
237
,
238
,
/* 1580 */
239
,
240
,
241
,
242
,
412
,
427
,
406
,
429
,
277
,
182
,
/* 1590 */
432
,
433
,
434
,
435
,
436
,
437
,
469
,
439
,
467
,
27
9
,
/* 1600 */
3
80
,
263
,
286
,
278
,
446
,
412
,
259
,
464
,
450
,
451
,
/* 1610 */
4
66
,
391
,
283
,
393
,
486
,
281
,
20
,
351
,
431
,
352
,
/* 1620 */
357
,
357
,
20
,
406
,
341
,
391
,
404
,
391
,
391
,
391
,
/* 1630 */
391
,
406
,
391
,
174
,
351
,
403
,
375
,
357
,
357
,
351
,
/* 1640 */
4
65
,
103
,
103
,
449
,
391
,
369
,
350
,
427
,
36
,
429
,
/* 1650 */
357
,
383
,
432
,
433
,
434
,
435
,
436
,
437
,
415
,
439
,
/* 1660 */
0
,
344
,
422
,
380
,
480
,
343
,
446
,
479
,
358
,
339
,
/* 1670 */
4
50
,
451
,
0
,
373
,
391
,
373
,
393
,
407
,
407
,
373
,
/* 1680 */
0
,
42
,
0
,
35
,
216
,
341
,
35
,
35
,
35
,
216
,
/* 1690 */
0
,
35
,
35
,
216
,
0
,
351
,
216
,
0
,
35
,
341
,
/* 1700 */
0
,
22
,
0
,
35
,
211
,
0
,
199
,
0
,
199
,
351
,
/* 1710 */
427
,
200
,
429
,
193
,
191
,
432
,
433
,
434
,
435
,
436
,
/* 1720 */
43
7
,
0
,
439
,
0
,
380
,
0
,
0
,
187
,
186
,
446
,
/* 1730 */
0
,
47
,
0
,
450
,
451
,
391
,
341
,
393
,
380
,
0
,
/* 1740 */
0
,
0
,
47
,
42
,
0
,
0
,
351
,
159
,
35
,
391
,
/* 1750 */
0
,
393
,
0
,
47
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 1760 */
159
,
0
,
341
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
/* 1770 */
0
,
427
,
351
,
429
,
0
,
380
,
432
,
433
,
434
,
435
,
/* 1780 */
43
6
,
437
,
0
,
439
,
0
,
427
,
391
,
429
,
393
,
0
,
/* 1790 */
4
32
,
433
,
434
,
435
,
436
,
437
,
0
,
439
,
0
,
0
,
/* 1800 */
47
,
380
,
0
,
0
,
42
,
0
,
0
,
0
,
0
,
0
,
/* 1810 */
22
,
0
,
391
,
0
,
393
,
0
,
472
,
473
,
143
,
0
,
/* 1820 */
0
,
0
,
427
,
22
,
429
,
48
,
341
,
432
,
433
,
434
,
/* 1830 */
435
,
436
,
437
,
48
,
439
,
35
,
351
,
62
,
22
,
0
,
/* 1840 */
62
,
483
,
484
,
0
,
0
,
62
,
0
,
35
,
427
,
0
,
/* 1850 */
429
,
341
,
35
,
432
,
433
,
434
,
435
,
436
,
437
,
49
,
/* 1860 */
439
,
351
,
39
,
49
,
39
,
380
,
0
,
446
,
473
,
384
,
/* 1870 */
35
,
49
,
451
,
39
,
0
,
35
,
391
,
341
,
393
,
0
,
/* 1880 */
42
,
39
,
14
,
47
,
0
,
44
,
39
,
351
,
0
,
0
,
/* 1890 */
380
,
40
,
47
,
0
,
384
,
47
,
39
,
182
,
0
,
0
,
/* 1900 */
0
,
391
,
69
,
393
,
0
,
0
,
35
,
49
,
39
,
0
,
/* 1910 */
35
,
49
,
427
,
0
,
429
,
39
,
380
,
432
,
433
,
434
,
/* 1920 */
43
5
,
436
,
437
,
0
,
439
,
35
,
49
,
391
,
0
,
393
,
/* 1930 */
39
,
35
,
49
,
39
,
0
,
0
,
0
,
427
,
0
,
42
9
,
/* 1940 */
0
,
112
,
432
,
433
,
434
,
435
,
436
,
437
,
22
,
439
,
/* 1950 */
341
,
35
,
0
,
35
,
35
,
35
,
35
,
35
,
44
,
35
,
/* 1960 */
351
,
44
,
35
,
427
,
110
,
429
,
341
,
1
,
432
,
433
,
/* 1970 */
434
,
435
,
436
,
437
,
35
,
439
,
351
,
35
,
22
,
35
,
/* 1980 */
0
,
22
,
0
,
22
,
51
,
19
,
22
,
0
,
35
,
380
,
/* 1990 */
0
,
0
,
35
,
35
,
0
,
22
,
20
,
35
,
35
,
33
,
/* 2000 */
391
,
104
,
393
,
35
,
103
,
380
,
0
,
35
,
0
,
384
,
/* 2010 */
103
,
475
,
194
,
0
,
22
,
49
,
391
,
22
,
393
,
0
,
/* 2020 */
3
,
44
,
172
,
57
,
58
,
59
,
60
,
341
,
62
,
198
,
/* 2030 */
174
,
172
,
172
,
178
,
103
,
172
,
427
,
351
,
429
,
178
,
/* 2040 */
264
,
432
,
433
,
434
,
435
,
436
,
437
,
104
,
439
,
103
,
/* 2050 */
48
,
101
,
427
,
48
,
429
,
104
,
44
,
432
,
433
,
434
,
/* 2060 */
435
,
436
,
437
,
103
,
439
,
44
,
380
,
44
,
102
,
99
,
/* 2070 */
384
,
105
,
47
,
104
,
103
,
47
,
44
,
391
,
103
,
393
,
/* 2080 */
3
,
35
,
104
,
104
,
103
,
44
,
35
,
104
,
341
,
35
,
/* 2090 */
264
,
264
,
35
,
484
,
35
,
35
,
47
,
104
,
351
,
4
4
,
/* 2100 */
104
,
0
,
0
,
47
,
138
,
39
,
103
,
103
,
47
,
0
,
/* 2110 */
103
,
258
,
103
,
427
,
341
,
429
,
175
,
103
,
432
,
433
,
/* 2120 */
434
,
435
,
436
,
437
,
351
,
439
,
104
,
380
,
104
,
39
,
/* 2130 */
103
,
384
,
47
,
113
,
101
,
44
,
101
,
245
,
391
,
173
,
/* 2140 */
393
,
2
,
22
,
103
,
47
,
103
,
180
,
173
,
223
,
104
,
/* 2150 */
47
,
104
,
104
,
380
,
104
,
103
,
103
,
22
,
114
,
35
,
/* 2160 */
35
,
103
,
225
,
35
,
391
,
199
,
393
,
103
,
35
,
104
,
/* 2170 */
103
,
35
,
104
,
103
,
427
,
104
,
429
,
103
,
341
,
432
,
/* 2180 */
43
3
,
434
,
435
,
436
,
437
,
104
,
439
,
103
,
351
,
35
,
/* 2190 */
104
,
103
,
35
,
341
,
22
,
126
,
104
,
103
,
126
,
126
,
/* 2200 */
427
,
126
,
429
,
351
,
115
,
432
,
433
,
434
,
435
,
436
,
/* 2210 */
43
7
,
341
,
439
,
103
,
44
,
103
,
35
,
380
,
103
,
22
,
/* 2220 */
69
,
351
,
35
,
68
,
35
,
35
,
35
,
35
,
391
,
35
,
/* 2230 */
393
,
35
,
380
,
35
,
75
,
97
,
35
,
44
,
35
,
35
,
/* 2240 */
22
,
35
,
35
,
391
,
35
,
393
,
75
,
35
,
35
,
35
,
/* 2250 */
380
,
35
,
35
,
22
,
35
,
0
,
35
,
49
,
0
,
39
,
/* 2260 */
35
,
391
,
39
,
393
,
427
,
0
,
429
,
35
,
39
,
432
,
/* 2270 */
433
,
434
,
435
,
436
,
437
,
49
,
439
,
49
,
0
,
427
,
/* 2280 */
35
,
429
,
49
,
0
,
432
,
433
,
434
,
435
,
436
,
437
,
/* 2290 */
39
,
439
,
35
,
0
,
35
,
22
,
21
,
427
,
22
,
429
,
/* 2300 */
20
,
22
,
432
,
433
,
434
,
435
,
436
,
437
,
341
,
439
,
/* 2310 */
21
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
351
,
487
,
/* 2320 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
341
,
487
,
48
7
,
/* 2330 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
351
,
487
,
48
7
,
/* 2340 */
487
,
341
,
487
,
487
,
487
,
487
,
487
,
380
,
487
,
487
,
/* 2350 */
487
,
351
,
487
,
487
,
487
,
487
,
487
,
487
,
391
,
487
,
/* 2360 */
393
,
487
,
487
,
487
,
487
,
487
,
380
,
487
,
487
,
487
,
/* 2370 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
391
,
341
,
393
,
/* 2380 */
3
80
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
351
,
487
,
/* 2390 */
487
,
391
,
487
,
393
,
427
,
487
,
429
,
487
,
487
,
432
,
/* 2400 */
433
,
434
,
435
,
436
,
437
,
487
,
439
,
487
,
487
,
487
,
/* 2410 */
4
87
,
487
,
487
,
427
,
487
,
429
,
487
,
380
,
432
,
433
,
/* 2420 */
4
34
,
435
,
436
,
437
,
487
,
439
,
487
,
427
,
391
,
429
,
/* 2430 */
393
,
487
,
432
,
433
,
434
,
435
,
436
,
437
,
487
,
439
,
/* 2440 */
341
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2450 */
351
,
487
,
487
,
487
,
487
,
341
,
487
,
487
,
487
,
487
,
/* 2460 */
487
,
487
,
487
,
487
,
427
,
351
,
429
,
487
,
487
,
432
,
/* 2470 */
4
33
,
434
,
435
,
436
,
437
,
487
,
439
,
487
,
487
,
380
,
/* 2480 */
487
,
4
87
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2490 */
391
,
487
,
393
,
487
,
380
,
487
,
487
,
487
,
487
,
487
,
/* 2500 */
487
,
487
,
487
,
487
,
487
,
391
,
341
,
393
,
487
,
487
,
/* 2510 */
4
87
,
487
,
487
,
487
,
487
,
487
,
351
,
487
,
487
,
487
,
/* 2520 */
341
,
487
,
487
,
487
,
487
,
487
,
427
,
487
,
429
,
487
,
/* 2530 */
351
,
432
,
433
,
434
,
435
,
436
,
437
,
487
,
439
,
487
,
/* 2540 */
487
,
4
27
,
487
,
429
,
487
,
380
,
432
,
433
,
434
,
435
,
/* 2550 */
4
36
,
437
,
487
,
439
,
487
,
487
,
391
,
487
,
393
,
380
,
/* 2560 */
4
87
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2570 */
391
,
487
,
393
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2580 */
487
,
487
,
487
,
487
,
487
,
341
,
487
,
487
,
487
,
487
,
/* 2590 */
487
,
487
,
427
,
487
,
429
,
351
,
487
,
432
,
433
,
434
,
/* 2600 */
4
35
,
436
,
437
,
487
,
439
,
487
,
427
,
487
,
429
,
48
7
,
/* 2610 */
487
,
4
32
,
433
,
434
,
435
,
436
,
437
,
487
,
439
,
48
7
,
/* 2620 */
487
,
4
87
,
487
,
487
,
380
,
487
,
487
,
487
,
487
,
487
,
/* 2630 */
4
87
,
487
,
487
,
487
,
487
,
391
,
487
,
393
,
487
,
48
7
,
/* 2640 */
487
,
4
87
,
487
,
487
,
487
,
341
,
487
,
487
,
487
,
48
7
,
/* 2650 */
487
,
4
87
,
487
,
487
,
487
,
351
,
487
,
487
,
487
,
487
,
/* 2660 */
341
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2670 */
351
,
427
,
487
,
429
,
487
,
487
,
432
,
433
,
434
,
435
,
/* 2680 */
436
,
437
,
487
,
439
,
380
,
487
,
487
,
487
,
487
,
487
,
/* 2690 */
487
,
487
,
487
,
487
,
487
,
391
,
487
,
393
,
487
,
380
,
/* 2700 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2710 */
3
91
,
487
,
393
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2720 */
341
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2730 */
351
,
427
,
487
,
429
,
487
,
341
,
432
,
433
,
434
,
435
,
/* 2740 */
4
36
,
437
,
487
,
439
,
487
,
351
,
427
,
487
,
429
,
487
,
/* 2750 */
4
87
,
432
,
433
,
434
,
435
,
436
,
437
,
341
,
439
,
380
,
/* 2760 */
4
87
,
487
,
487
,
487
,
487
,
487
,
487
,
351
,
487
,
487
,
/* 2770 */
391
,
487
,
393
,
487
,
380
,
487
,
487
,
487
,
487
,
487
,
/* 2780 */
487
,
487
,
487
,
487
,
487
,
391
,
487
,
393
,
487
,
487
,
/* 2790 */
487
,
487
,
487
,
487
,
487
,
487
,
380
,
487
,
487
,
487
,
/* 2800 */
487
,
487
,
487
,
487
,
487
,
487
,
4
27
,
391
,
429
,
393
,
/* 2810 */
487
,
432
,
433
,
434
,
435
,
436
,
437
,
487
,
439
,
487
,
/* 2820 */
487
,
4
27
,
487
,
429
,
487
,
487
,
432
,
433
,
434
,
435
,
/* 2830 */
4
36
,
437
,
341
,
439
,
487
,
487
,
487
,
487
,
48
7
,
487
,
/* 2840 */
4
87
,
487
,
351
,
427
,
487
,
429
,
487
,
341
,
432
,
433
,
/* 2850 */
43
4
,
435
,
436
,
437
,
487
,
439
,
487
,
351
,
487
,
487
,
/* 2860 */
487
,
487
,
341
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2870 */
487
,
380
,
351
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2880 */
487
,
487
,
391
,
487
,
393
,
487
,
380
,
487
,
487
,
487
,
/* 2890 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
391
,
487
,
393
,
/* 2900 */
487
,
380
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2910 */
487
,
487
,
391
,
487
,
393
,
487
,
487
,
487
,
427
,
487
,
/* 2920 */
429
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
437
,
487
,
/* 2930 */
439
,
487
,
487
,
427
,
341
,
429
,
487
,
487
,
432
,
433
,
/* 2940 */
434
,
435
,
436
,
437
,
351
,
439
,
487
,
487
,
427
,
487
,
/* 2950 */
429
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
437
,
487
,
/* 2960 */
439
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2970 */
487
,
487
,
487
,
380
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 2980 */
487
,
487
,
487
,
487
,
391
,
487
,
393
,
487
,
487
,
487
,
/* 2990 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 3000 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 3010 */
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
487
,
/* 3020 */
427
,
487
,
429
,
487
,
487
,
432
,
433
,
434
,
435
,
436
,
/* 3030 */
437
,
487
,
439
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3040 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3050 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3060 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
...
...
@@ -821,214 +839,229 @@ static const YYCODETYPE yy_lookahead[] = {
/* 3160 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3170 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3180 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3190 */
338
,
338
,
338
,
338
,
338
,
338
,
/* 3190 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3200 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3210 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3220 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3230 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3240 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3250 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3260 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3270 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3280 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3290 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3300 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3310 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3320 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3330 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3340 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3350 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3360 */
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
338
,
/* 3370 */
338
,
};
#define YY_SHIFT_COUNT (
801
)
#define YY_SHIFT_COUNT (
797
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (2
366
)
#define YY_SHIFT_MAX (2
293
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
1005
,
0
,
104
,
0
,
337
,
337
,
337
,
337
,
337
,
337
,
/* 10 */
337
,
337
,
337
,
337
,
337
,
337
,
441
,
673
,
673
,
777
,
/* 20 */
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
/* 30 */
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
/* 40 */
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
/* 50 */
673
,
18
,
259
,
393
,
29
,
428
,
701
,
428
,
29
,
29
,
/* 60 */
428
,
1341
,
428
,
1341
,
1341
,
66
,
428
,
93
,
143
,
158
,
/* 70 */
158
,
143
,
13
,
13
,
331
,
294
,
23
,
23
,
158
,
158
,
/* 80 */
158
,
158
,
158
,
158
,
158
,
158
,
158
,
158
,
195
,
158
,
/* 90 */
158
,
243
,
93
,
158
,
158
,
309
,
93
,
158
,
195
,
158
,
/* 100 */
195
,
93
,
158
,
158
,
93
,
158
,
93
,
93
,
93
,
158
,
/* 110 */
473
,
1004
,
15
,
15
,
303
,
462
,
1302
,
1302
,
1302
,
1302
,
/* 120 */
1302
,
1302
,
1302
,
1302
,
1302
,
1302
,
1302
,
1302
,
1302
,
1302
,
/* 130 */
1302
,
1302
,
1302
,
1302
,
1302
,
1072
,
194
,
331
,
294
,
833
,
/* 140 */
833
,
184
,
564
,
564
,
564
,
101
,
291
,
291
,
184
,
243
,
/* 150 */
284
,
251
,
93
,
454
,
93
,
454
,
454
,
483
,
619
,
28
,
/* 160 */
28
,
28
,
28
,
28
,
28
,
28
,
28
,
1987
,
757
,
261
,
/* 170 */
580
,
613
,
508
,
49
,
521
,
343
,
343
,
492
,
784
,
754
,
/* 180 */
872
,
1038
,
1129
,
875
,
323
,
1039
,
939
,
990
,
924
,
939
,
/* 190 */
1140
,
955
,
817
,
1144
,
1365
,
1395
,
1212
,
243
,
1395
,
243
,
/* 200 */
1238
,
1422
,
1401
,
1429
,
1422
,
1401
,
1287
,
1443
,
1422
,
1443
,
/* 210 */
1401
,
1287
,
1287
,
1380
,
1386
,
1443
,
1390
,
1443
,
1443
,
1443
,
/* 220 */
1470
,
1459
,
1470
,
1459
,
1395
,
243
,
1496
,
243
,
1497
,
1502
,
/* 230 */
243
,
1497
,
243
,
243
,
243
,
1443
,
243
,
1470
,
93
,
93
,
/* 240 */
93
,
93
,
93
,
93
,
93
,
93
,
93
,
93
,
93
,
1443
,
/* 250 */
1470
,
454
,
454
,
454
,
1344
,
1442
,
1395
,
473
,
1358
,
1376
,
/* 260 */
1496
,
473
,
1394
,
1144
,
1443
,
1429
,
1429
,
454
,
1330
,
1339
,
/* 270 */
454
,
1330
,
1339
,
454
,
454
,
93
,
1342
,
1438
,
1330
,
1348
,
/* 280 */
1350
,
1367
,
1144
,
1347
,
1349
,
1364
,
1388
,
1422
,
1617
,
1497
,
/* 290 */
473
,
473
,
1634
,
1339
,
454
,
454
,
454
,
454
,
454
,
1339
,
/* 300 */
454
,
1509
,
473
,
483
,
473
,
1422
,
1591
,
1597
,
454
,
619
,
/* 310 */
1443
,
473
,
1670
,
1470
,
2858
,
2858
,
2858
,
2858
,
2858
,
2858
,
/* 320 */
2858
,
2858
,
2858
,
1002
,
1074
,
225
,
32
,
736
,
750
,
860
,
/* 330 */
687
,
980
,
1356
,
434
,
806
,
197
,
197
,
197
,
197
,
197
,
/* 340 */
197
,
197
,
197
,
197
,
575
,
265
,
870
,
870
,
648
,
6
,
/* 350 */
516
,
307
,
713
,
1077
,
1095
,
512
,
280
,
282
,
282
,
710
,
/* 360 */
201
,
793
,
710
,
710
,
710
,
1208
,
1021
,
1171
,
1209
,
1170
,
/* 370 */
1099
,
1237
,
1123
,
1132
,
1149
,
1159
,
1092
,
1232
,
1246
,
1258
,
/* 380 */
1270
,
1012
,
1184
,
1217
,
1214
,
1247
,
1255
,
1262
,
1157
,
1106
,
/* 390 */
1101
,
1263
,
1278
,
1282
,
1285
,
1286
,
1289
,
1333
,
1292
,
1172
,
/* 400 */
1295
,
602
,
1305
,
1335
,
1340
,
1353
,
1354
,
1368
,
255
,
1236
,
/* 410 */
1260
,
1343
,
1378
,
1218
,
610
,
1707
,
1738
,
1741
,
1704
,
1749
,
/* 420 */
1715
,
1535
,
1717
,
1720
,
1722
,
1542
,
1759
,
1725
,
1726
,
1546
,
/* 430 */
1764
,
1549
,
1766
,
1734
,
1770
,
1750
,
1771
,
1739
,
1565
,
1784
,
/* 440 */
1587
,
1788
,
1590
,
1593
,
1601
,
1610
,
1806
,
1807
,
1808
,
1622
,
/* 450 */
1624
,
1811
,
1812
,
1769
,
1813
,
1817
,
1818
,
1774
,
1822
,
1781
,
/* 460 */
1825
,
1826
,
1828
,
1783
,
1831
,
1832
,
1833
,
1835
,
1836
,
1837
,
/* 470 */
1679
,
1805
,
1843
,
1691
,
1852
,
1853
,
1855
,
1857
,
1858
,
1859
,
/* 480 */
1860
,
1861
,
1864
,
1866
,
1888
,
1889
,
1893
,
1894
,
1903
,
1904
,
/* 490 */
1830
,
1878
,
1838
,
1879
,
1881
,
1882
,
1883
,
1884
,
1885
,
1886
,
/* 500 */
1905
,
1906
,
1907
,
1768
,
1909
,
1913
,
1892
,
1875
,
1908
,
1876
,
/* 510 */
1925
,
1824
,
1891
,
1927
,
1870
,
1928
,
1871
,
1935
,
1936
,
1910
,
/* 520 */
1890
,
1898
,
1938
,
1911
,
1895
,
1901
,
1942
,
1914
,
1899
,
1912
,
/* 530 */
1950
,
1917
,
1953
,
1915
,
1916
,
1918
,
1919
,
1920
,
1940
,
1921
,
/* 540 */
1956
,
1923
,
1922
,
1958
,
1960
,
1965
,
1930
,
1790
,
1970
,
1978
,
/* 550 */
1981
,
1924
,
1991
,
1992
,
1939
,
1926
,
1937
,
1994
,
1961
,
1946
,
/* 560 */
1959
,
1997
,
1964
,
1951
,
1962
,
2002
,
1968
,
1955
,
1966
,
2008
,
/* 570 */
2010
,
2011
,
2021
,
2022
,
2023
,
1929
,
1932
,
1990
,
2004
,
2024
,
/* 580 */
1993
,
1996
,
1998
,
1999
,
2000
,
2003
,
2005
,
1983
,
1985
,
2013
,
/* 590 */
2015
,
2017
,
2016
,
2037
,
2030
,
2043
,
2032
,
2006
,
2055
,
2034
,
/* 600 */
2025
,
2058
,
2026
,
2059
,
2027
,
2064
,
2045
,
2049
,
2035
,
2042
,
/* 610 */
2044
,
1976
,
1979
,
2065
,
1934
,
1980
,
1887
,
2046
,
2066
,
2086
,
/* 620 */
1896
,
2071
,
1941
,
1933
,
2087
,
2095
,
1943
,
1931
,
1944
,
1945
,
/* 630 */
2093
,
2053
,
1834
,
2001
,
1995
,
2009
,
2052
,
2019
,
2060
,
2012
,
/* 640 */
2014
,
2057
,
2070
,
2020
,
2018
,
2028
,
2029
,
2031
,
2073
,
2063
,
/* 650 */
2079
,
2039
,
2083
,
1869
,
2033
,
2036
,
2099
,
2084
,
1874
,
2108
,
/* 660 */
2115
,
2117
,
2118
,
2119
,
2120
,
2061
,
2069
,
2111
,
1872
,
2124
,
/* 670 */
2112
,
2161
,
2162
,
2080
,
2125
,
1919
,
2116
,
2081
,
2085
,
2088
,
/* 680 */
2082
,
2090
,
2041
,
2092
,
2174
,
2148
,
2047
,
2094
,
2075
,
1919
,
/* 690 */
2143
,
2152
,
2097
,
1954
,
2100
,
2198
,
2180
,
1986
,
2101
,
2121
,
/* 700 */
2126
,
2122
,
2127
,
2128
,
2156
,
2131
,
2132
,
2175
,
2133
,
2199
,
/* 710 */
2038
,
2135
,
2109
,
2136
,
2189
,
2192
,
2138
,
2141
,
2201
,
2154
,
/* 720 */
2142
,
2204
,
2155
,
2151
,
2224
,
2157
,
2158
,
2226
,
2163
,
2160
,
/* 730 */
2230
,
2168
,
2159
,
2164
,
2165
,
2166
,
2256
,
2167
,
2177
,
2239
,
/* 740 */
2181
,
2251
,
2184
,
2239
,
2239
,
2266
,
2220
,
2228
,
2259
,
2262
,
/* 750 */
2263
,
2264
,
2265
,
2267
,
2268
,
2270
,
2232
,
2211
,
2257
,
2282
,
/* 760 */
2283
,
2284
,
2298
,
2286
,
2287
,
2288
,
2249
,
1983
,
2291
,
1985
,
/* 770 */
2292
,
2293
,
2297
,
2307
,
2321
,
2309
,
2333
,
2310
,
2300
,
2308
,
/* 780 */
2346
,
2315
,
2302
,
2313
,
2354
,
2320
,
2312
,
2317
,
2357
,
2324
,
/* 790 */
2314
,
2323
,
2360
,
2329
,
2334
,
2366
,
2348
,
2350
,
2351
,
2352
,
/* 800 */
2355
,
2358
,
/* 50 */
673
,
16
,
66
,
923
,
116
,
250
,
286
,
250
,
116
,
116
,
/* 60 */
250
,
1341
,
250
,
1341
,
1341
,
170
,
250
,
24
,
342
,
36
,
/* 70 */
36
,
342
,
419
,
419
,
257
,
475
,
344
,
344
,
36
,
36
,
/* 80 */
36
,
36
,
36
,
36
,
36
,
36
,
36
,
36
,
114
,
36
,
/* 90 */
36
,
96
,
24
,
36
,
36
,
162
,
24
,
36
,
114
,
36
,
/* 100 */
114
,
24
,
36
,
36
,
24
,
36
,
24
,
24
,
24
,
36
,
/* 110 */
148
,
1004
,
15
,
15
,
303
,
258
,
100
,
100
,
100
,
100
,
/* 120 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
/* 130 */
100
,
100
,
100
,
100
,
100
,
596
,
194
,
257
,
475
,
672
,
/* 140 */
672
,
626
,
639
,
639
,
639
,
438
,
804
,
804
,
626
,
96
,
/* 150 */
24
,
24
,
24
,
24
,
106
,
4
,
24
,
203
,
24
,
203
,
/* 160 */
203
,
196
,
281
,
28
,
28
,
28
,
28
,
1966
,
531
,
225
,
/* 170 */
575
,
707
,
381
,
363
,
604
,
917
,
917
,
492
,
930
,
828
,
/* 180 */
54
,
1085
,
1205
,
926
,
910
,
1104
,
1008
,
624
,
895
,
1008
,
/* 190 */
1219
,
951
,
1118
,
1106
,
1324
,
1359
,
1192
,
96
,
1359
,
96
,
/* 200 */
1224
,
1401
,
1381
,
1419
,
1401
,
1381
,
1279
,
1434
,
1401
,
1434
,
/* 210 */
1381
,
1279
,
1279
,
1371
,
1382
,
1434
,
1388
,
1434
,
1434
,
1434
,
/* 220 */
1471
,
1445
,
1471
,
1445
,
1359
,
96
,
1478
,
96
,
1482
,
1484
,
/* 230 */
96
,
1482
,
96
,
96
,
96
,
1434
,
96
,
1471
,
24
,
24
,
/* 240 */
24
,
24
,
24
,
24
,
24
,
1434
,
1471
,
203
,
203
,
203
,
/* 250 */
1319
,
1428
,
1359
,
148
,
1351
,
1360
,
1478
,
148
,
1362
,
1106
,
/* 260 */
1434
,
1419
,
1419
,
203
,
1294
,
1290
,
203
,
1294
,
1290
,
203
,
/* 270 */
203
,
24
,
1311
,
1407
,
1294
,
1320
,
1325
,
1338
,
1106
,
1316
,
/* 280 */
1329
,
1334
,
1347
,
1401
,
1596
,
1482
,
148
,
148
,
1602
,
1290
,
/* 290 */
203
,
203
,
203
,
203
,
203
,
1290
,
203
,
1459
,
148
,
196
,
/* 300 */
148
,
1401
,
1538
,
1539
,
203
,
281
,
1434
,
148
,
1612
,
1471
,
/* 310 */
3033
,
3033
,
3033
,
3033
,
3033
,
3033
,
3033
,
3033
,
3033
,
1002
,
/* 320 */
1074
,
460
,
584
,
774
,
716
,
747
,
649
,
813
,
948
,
434
,
/* 330 */
666
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 340 */
1249
,
296
,
756
,
756
,
276
,
72
,
287
,
714
,
690
,
397
,
/* 350 */
591
,
271
,
684
,
706
,
706
,
966
,
764
,
677
,
966
,
966
,
/* 360 */
966
,
1221
,
178
,
1191
,
572
,
1230
,
1114
,
1216
,
1146
,
1183
,
/* 370 */
1196
,
1209
,
1246
,
1262
,
1298
,
1299
,
1308
,
1116
,
1265
,
1274
,
/* 380 */
68
,
1287
,
1289
,
1291
,
1186
,
81
,
340
,
1292
,
1295
,
1297
,
/* 390 */
1307
,
1314
,
1315
,
1364
,
1323
,
1109
,
1327
,
51
,
1345
,
1346
,
/* 400 */
1353
,
1356
,
1363
,
1366
,
1301
,
1167
,
1233
,
1321
,
1389
,
675
,
/* 410 */
1375
,
1660
,
1672
,
1680
,
1639
,
1682
,
1648
,
1468
,
1651
,
1652
,
/* 420 */
1653
,
1473
,
1690
,
1656
,
1657
,
1477
,
1694
,
1480
,
1697
,
1663
,
/* 430 */
1700
,
1679
,
1702
,
1668
,
1493
,
1705
,
1507
,
1707
,
1509
,
1511
,
/* 440 */
1520
,
1523
,
1721
,
1723
,
1725
,
1540
,
1542
,
1726
,
1730
,
1684
,
/* 450 */
1732
,
1739
,
1740
,
1695
,
1741
,
1701
,
1744
,
1745
,
1750
,
1706
,
/* 460 */
1752
,
1754
,
1755
,
1756
,
1757
,
1758
,
1588
,
1713
,
1759
,
1601
,
/* 470 */
1761
,
1763
,
1764
,
1765
,
1766
,
1767
,
1768
,
1769
,
1770
,
1774
,
/* 480 */
1782
,
1784
,
1789
,
1796
,
1798
,
1799
,
1753
,
1802
,
1762
,
1803
,
/* 490 */
1805
,
1806
,
1807
,
1808
,
1809
,
1788
,
1811
,
1813
,
1815
,
1675
,
/* 500 */
1819
,
1820
,
1801
,
1777
,
1816
,
1785
,
1821
,
1775
,
1800
,
1839
,
/* 510 */
1778
,
1843
,
1783
,
1844
,
1846
,
1812
,
1810
,
1823
,
1849
,
1817
,
/* 520 */
1814
,
1825
,
1866
,
1835
,
1822
,
1834
,
1874
,
1840
,
1879
,
1838
,
/* 530 */
1842
,
1841
,
1836
,
1845
,
1868
,
1848
,
1884
,
1851
,
1847
,
1888
,
/* 540 */
1889
,
1893
,
1857
,
1715
,
1898
,
1899
,
1900
,
1833
,
1904
,
1905
,
/* 550 */
1871
,
1858
,
1869
,
1909
,
1875
,
1862
,
1876
,
1913
,
1890
,
1877
,
/* 560 */
1891
,
1923
,
1896
,
1883
,
1894
,
1928
,
1934
,
1935
,
1936
,
1938
,
/* 570 */
1940
,
1829
,
1854
,
1916
,
1926
,
1952
,
1918
,
1919
,
1920
,
1921
,
/* 580 */
1922
,
1924
,
1927
,
1914
,
1917
,
1939
,
1942
,
1956
,
1944
,
1980
,
/* 590 */
1959
,
1982
,
1961
,
1933
,
1990
,
1964
,
1953
,
1987
,
1957
,
1991
,
/* 600 */
1958
,
1994
,
1973
,
1976
,
1962
,
1963
,
1968
,
1897
,
1901
,
2006
,
/* 610 */
1850
,
1907
,
1831
,
1972
,
1992
,
2008
,
1818
,
1995
,
1859
,
1856
,
/* 620 */
2013
,
2019
,
1860
,
1855
,
1863
,
1861
,
2017
,
1977
,
1776
,
1931
,
/* 630 */
1943
,
1946
,
2002
,
1950
,
2005
,
1970
,
1951
,
2012
,
2021
,
1969
,
/* 640 */
1960
,
1971
,
1975
,
1978
,
2023
,
2025
,
2028
,
1981
,
2032
,
1826
,
/* 650 */
1979
,
1983
,
2077
,
2041
,
1827
,
2046
,
2051
,
2054
,
2057
,
2059
,
/* 660 */
2060
,
1993
,
1996
,
2049
,
1853
,
2055
,
2056
,
2101
,
2102
,
2003
,
/* 670 */
2066
,
1836
,
2061
,
2004
,
2022
,
2024
,
2007
,
2009
,
1941
,
2014
,
/* 680 */
2109
,
2090
,
1974
,
2027
,
2020
,
1836
,
2085
,
2091
,
2033
,
1892
,
/* 690 */
2035
,
2139
,
2120
,
1925
,
2040
,
2045
,
2042
,
2047
,
2052
,
2048
,
/* 700 */
2097
,
2053
,
2058
,
2103
,
2050
,
2135
,
1937
,
2064
,
2044
,
2065
,
/* 710 */
2124
,
2125
,
2067
,
2068
,
2128
,
2070
,
2071
,
2133
,
2074
,
2081
,
/* 720 */
2136
,
2084
,
2086
,
2154
,
2088
,
2092
,
2157
,
2094
,
2069
,
2072
,
/* 730 */
2073
,
2075
,
2172
,
2089
,
2110
,
2170
,
2112
,
2181
,
2115
,
2170
,
/* 740 */
2170
,
2197
,
2151
,
2155
,
2187
,
2189
,
2190
,
2191
,
2192
,
2194
,
/* 750 */
2196
,
2198
,
2159
,
2138
,
2193
,
2201
,
2203
,
2204
,
2218
,
2206
,
/* 760 */
2207
,
2209
,
2171
,
1914
,
2212
,
1917
,
2213
,
2214
,
2216
,
2217
,
/* 770 */
2231
,
2219
,
2255
,
2221
,
2208
,
2220
,
2258
,
2225
,
2226
,
2223
,
/* 780 */
2265
,
2232
,
2228
,
2229
,
2278
,
2245
,
2233
,
2251
,
2283
,
2257
,
/* 790 */
2259
,
2293
,
2273
,
2275
,
2276
,
2279
,
2289
,
2280
,
};
#define YY_REDUCE_COUNT (3
22
)
#define YY_REDUCE_MIN (-4
04
)
#define YY_REDUCE_MAX (2
418
)
#define YY_REDUCE_COUNT (3
18
)
#define YY_REDUCE_MIN (-4
43
)
#define YY_REDUCE_MAX (2
593
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
296
,
-
340
,
-
133
,
-
26
,
88
,
310
,
540
,
850
,
881
,
911
,
/* 10 */
208
,
1001
,
1032
,
1069
,
1158
,
1207
,
1233
,
118
,
1284
,
1297
,
/* 20 */
1346
,
1363
,
1436
,
1412
,
1463
,
1483
,
426
,
1550
,
1580
,
1639
,
/* 30 */
1712
,
1743
,
1778
,
1815
,
1840
,
1877
,
1902
,
1974
,
1989
,
2007
,
/* 40 */
2054
,
2076
,
2123
,
2182
,
2195
,
2212
,
2244
,
2311
,
2331
,
2401
,
/* 50 */
2418
,
-
260
,
-
25
,
239
,
149
,
-
404
,
246
,
643
,
-
28
,
480
,
/* 60 */
1080
,
-
365
,
-
294
,
-
331
,
671
,
-
339
,
-
98
,
252
,
-
390
,
-
345
,
/* 70 */
-
265
,
-
279
,
-
72
,
40
,
-
318
,
30
,
-
342
,
112
,
-
216
,
26
,
/* 80 */
192
,
263
,
-
177
,
269
,
348
,
383
,
400
,
341
,
154
,
421
,
/* 90 */
450
,
561
,
-
261
,
520
,
579
,
36
,
230
,
601
,
576
,
615
,
/* 100 */
647
,
-
63
,
675
,
697
,
735
,
752
,
139
,
749
,
424
,
822
,
/* 110 */
-
182
,
-
316
,
-
258
,
-
258
,
-
280
,
-
233
,
-
20
,
11
,
91
,
245
,
/* 120 */
257
,
466
,
537
,
642
,
686
,
722
,
724
,
725
,
803
,
805
,
/* 130 */
808
,
827
,
844
,
845
,
859
,
-
369
,
-
67
,
581
,
-
145
,
453
,
/* 140 */
567
,
593
,
-
67
,
41
,
199
,
123
,
274
,
587
,
634
,
676
,
/* 150 */
20
,
594
,
677
,
653
,
732
,
751
,
814
,
765
,
772
,
-
380
,
/* 160 */
-
328
,
361
,
476
,
499
,
552
,
570
,
499
,
416
,
474
,
909
,
/* 170 */
554
,
818
,
804
,
951
,
841
,
944
,
945
,
949
,
913
,
949
,
/* 180 */
987
,
959
,
1026
,
1030
,
997
,
999
,
941
,
941
,
926
,
941
,
/* 190 */
953
,
946
,
949
,
995
,
989
,
998
,
996
,
1062
,
1003
,
1067
,
/* 200 */
1017
,
1081
,
1048
,
1049
,
1103
,
1057
,
1078
,
1120
,
1122
,
1125
,
/* 210 */
1079
,
1083
,
1084
,
1121
,
1124
,
1137
,
1128
,
1142
,
1147
,
1150
,
/* 220 */
1151
,
1163
,
1168
,
1165
,
1093
,
1154
,
1130
,
1162
,
1166
,
1111
,
/* 230 */
1169
,
1175
,
1174
,
1176
,
1177
,
1179
,
1180
,
1187
,
1152
,
1161
,
/* 240 */
1164
,
1167
,
1173
,
1181
,
1188
,
1189
,
1190
,
1191
,
1192
,
1194
,
/* 250 */
1199
,
1156
,
1182
,
1185
,
1134
,
1127
,
1145
,
1196
,
1143
,
1183
,
/* 260 */
1195
,
1239
,
1193
,
1198
,
1225
,
1200
,
1202
,
1215
,
1138
,
1210
,
/* 270 */
1222
,
1148
,
1211
,
1223
,
1227
,
949
,
1153
,
1160
,
1155
,
1186
,
/* 280 */
1213
,
1197
,
1219
,
1135
,
1201
,
1203
,
941
,
1298
,
1220
,
1303
,
/* 290 */
1293
,
1299
,
1275
,
1253
,
1273
,
1294
,
1300
,
1301
,
1304
,
1274
,
/* 300 */
1307
,
1281
,
1329
,
1314
,
1336
,
1345
,
1250
,
1318
,
1311
,
1334
,
/* 310 */
1355
,
1351
,
1366
,
1369
,
1312
,
1306
,
1308
,
1315
,
1362
,
1371
,
/* 320 */
1372
,
1382
,
1370
,
/* 0 */
-
296
,
-
340
,
-
133
,
-
26
,
88
,
307
,
540
,
850
,
878
,
911
,
/* 10 */
1001
,
1029
,
1091
,
1158
,
1220
,
1283
,
118
,
1344
,
1358
,
1421
,
/* 20 */
1395
,
1485
,
1510
,
1536
,
1609
,
1625
,
426
,
1686
,
1747
,
1773
,
/* 30 */
1837
,
1852
,
1870
,
1967
,
1986
,
2000
,
2037
,
2099
,
2114
,
2165
,
/* 40 */
2179
,
2244
,
2304
,
2319
,
2379
,
2394
,
2416
,
2491
,
2506
,
2521
,
/* 50 */
2593
,
-
260
,
-
25
,
-
411
,
185
,
-
404
,
236
,
461
,
645
,
685
,
/* 60 */
757
,
558
,
-
397
,
554
,
560
,
-
443
,
-
294
,
-
334
,
-
350
,
-
269
,
/* 70 */
1
,
-
383
,
-
236
,
-
29
,
-
12
,
78
,
-
344
,
-
283
,
26
,
64
,
/* 80 */
192
,
235
,
-
208
,
143
,
280
,
339
,
424
,
295
,
-
212
,
484
,
/* 90 */
487
,
-
271
,
-
377
,
524
,
615
,
-
332
,
-
72
,
679
,
482
,
682
,
/* 100 */
483
,
256
,
688
,
694
,
86
,
776
,
683
,
243
,
740
,
779
,
/* 110 */
768
,
-
346
,
-
245
,
-
245
,
-
39
,
-
81
,
-
223
,
358
,
537
,
603
,
/* 120 */
630
,
686
,
725
,
726
,
787
,
794
,
796
,
831
,
841
,
845
,
/* 130 */
851
,
853
,
854
,
855
,
858
,
12
,
-
31
,
-
359
,
156
,
382
,
/* 140 */
453
,
594
,
-
31
,
323
,
367
,
22
,
616
,
669
,
676
,
815
,
/* 150 */
742
,
801
,
818
,
825
,
321
,
84
,
829
,
504
,
402
,
535
,
/* 160 */
822
,
839
,
871
,
-
371
,
-
355
,
30
,
-
371
,
41
,
107
,
191
,
/* 170 */
136
,
157
,
229
,
437
,
348
,
464
,
480
,
476
,
522
,
476
,
/* 180 */
582
,
650
,
824
,
705
,
890
,
664
,
724
,
724
,
814
,
724
,
/* 190 */
885
,
887
,
476
,
960
,
949
,
961
,
979
,
1047
,
987
,
1053
,
/* 200 */
1003
,
1064
,
1031
,
1042
,
1093
,
1048
,
1057
,
1105
,
1108
,
1119
,
/* 210 */
1076
,
1080
,
1081
,
1115
,
1121
,
1135
,
1126
,
1138
,
1139
,
1140
,
/* 220 */
1149
,
1147
,
1152
,
1150
,
1075
,
1141
,
1110
,
1142
,
1153
,
1094
,
/* 230 */
1151
,
1154
,
1155
,
1156
,
1157
,
1161
,
1160
,
1165
,
1132
,
1133
,
/* 240 */
1137
,
1159
,
1163
,
1164
,
1166
,
1171
,
1179
,
1145
,
1162
,
1168
,
/* 250 */
1120
,
1117
,
1112
,
1190
,
1130
,
1136
,
1169
,
1195
,
1148
,
1172
,
/* 260 */
1204
,
1173
,
1174
,
1176
,
1101
,
1170
,
1178
,
1103
,
1180
,
1181
,
/* 270 */
1182
,
476
,
1090
,
1127
,
1131
,
1144
,
1175
,
1143
,
1193
,
1128
,
/* 280 */
1184
,
1188
,
724
,
1266
,
1187
,
1267
,
1263
,
1264
,
1222
,
1217
,
/* 290 */
1234
,
1236
,
1237
,
1238
,
1239
,
1225
,
1241
,
1232
,
1280
,
1261
,
/* 300 */
1281
,
1288
,
1194
,
1268
,
1253
,
1276
,
1296
,
1293
,
1317
,
1322
,
/* 310 */
1243
,
1240
,
1270
,
1271
,
1300
,
1302
,
1306
,
1310
,
1330
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 10 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 20 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 30 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 40 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 50 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 60 */
2095
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 70 */
1783
,
1783
,
1783
,
1783
,
2068
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 80 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 90 */
1783
,
1872
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 100 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 110 */
1870
,
2061
,
2287
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 120 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 130 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
2299
,
1783
,
1783
,
1846
,
/* 140 */
1846
,
1783
,
2299
,
2299
,
2299
,
1870
,
2259
,
2259
,
1783
,
1872
,
/* 150 */
2129
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1993
,
1783
,
1783
,
/* 160 */
1783
,
1783
,
1783
,
2017
,
1783
,
1783
,
1783
,
2121
,
1783
,
1783
,
/* 170 */
2324
,
2381
,
1783
,
1783
,
2327
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 180 */
1783
,
2073
,
1783
,
1783
,
1945
,
2314
,
2291
,
2305
,
2365
,
2292
,
/* 190 */
2289
,
2308
,
1783
,
2318
,
1783
,
1783
,
2143
,
1872
,
1783
,
1872
,
/* 200 */
2108
,
1783
,
2066
,
1783
,
1783
,
2066
,
2063
,
1783
,
1783
,
1783
,
/* 210 */
2066
,
2063
,
2063
,
1934
,
1930
,
1783
,
1928
,
1783
,
1783
,
1783
,
/* 220 */
1783
,
1830
,
1783
,
1830
,
1783
,
1872
,
1783
,
1872
,
1783
,
1783
,
/* 230 */
1872
,
1783
,
1872
,
1872
,
1872
,
1783
,
1872
,
1783
,
1783
,
1783
,
/* 240 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 250 */
1783
,
1783
,
1783
,
1783
,
2141
,
2127
,
1783
,
1870
,
2119
,
2117
,
/* 260 */
1783
,
1870
,
2115
,
2318
,
1783
,
1783
,
1783
,
1783
,
2335
,
2333
,
/* 270 */
1783
,
2335
,
2333
,
1783
,
1783
,
1783
,
2349
,
2345
,
2335
,
2354
,
/* 280 */
2351
,
2320
,
2318
,
2384
,
2371
,
2367
,
2305
,
1783
,
1783
,
1783
,
/* 290 */
1870
,
1870
,
1783
,
2333
,
1783
,
1783
,
1783
,
1783
,
1783
,
2333
,
/* 300 */
1783
,
1783
,
1870
,
1783
,
1870
,
1783
,
1783
,
1961
,
1783
,
1783
,
/* 310 */
1783
,
1870
,
1815
,
1783
,
2110
,
2132
,
2091
,
2091
,
1996
,
1996
,
/* 320 */
1996
,
1873
,
1788
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 330 */
1783
,
1783
,
1783
,
1783
,
1783
,
2348
,
2347
,
2214
,
1783
,
2263
,
/* 340 */
2262
,
2261
,
2252
,
2213
,
1957
,
1783
,
2212
,
2211
,
1783
,
1783
,
/* 350 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
2082
,
2081
,
2205
,
/* 360 */
1783
,
1783
,
2206
,
2204
,
2203
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 370 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 380 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
2368
,
/* 390 */
2372
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
2288
,
1783
,
1783
,
/* 400 */
1783
,
2187
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 410 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 420 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 430 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 440 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 450 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 460 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 470 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 480 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 490 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 500 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 510 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 520 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 530 */
1783
,
1783
,
1783
,
1783
,
1783
,
1820
,
2192
,
1783
,
1783
,
1783
,
/* 540 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 550 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 560 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 570 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 580 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1911
,
1910
,
1783
,
/* 590 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 600 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 610 */
1783
,
2196
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 620 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 630 */
2364
,
2321
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 640 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 650 */
2187
,
1783
,
2346
,
1783
,
1783
,
2362
,
1783
,
2366
,
1783
,
1783
,
/* 660 */
1783
,
1783
,
1783
,
1783
,
1783
,
2298
,
2294
,
1783
,
1783
,
2290
,
/* 670 */
1783
,
1783
,
1783
,
1783
,
1783
,
2195
,
1783
,
1783
,
1783
,
1783
,
/* 680 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
2186
,
/* 690 */
1783
,
2249
,
1783
,
1783
,
1783
,
2283
,
1783
,
1783
,
2234
,
1783
,
/* 700 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
2196
,
1783
,
/* 710 */
2199
,
1783
,
1783
,
1783
,
1783
,
1783
,
1990
,
1783
,
1783
,
1783
,
/* 720 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 730 */
1783
,
1783
,
1974
,
1972
,
1971
,
1970
,
1783
,
1967
,
1783
,
2003
,
/* 740 */
1783
,
1783
,
1783
,
1999
,
1998
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 750 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1891
,
1783
,
/* 760 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1883
,
1783
,
1882
,
/* 770 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 780 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 790 */
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
1783
,
/* 800 */
1783
,
1783
,
/* 0 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 10 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 20 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 30 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 40 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 50 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 60 */
2091
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 70 */
1779
,
1779
,
1779
,
1779
,
2064
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 80 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 90 */
1779
,
1868
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 100 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 110 */
1866
,
2057
,
2283
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 120 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 130 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
2295
,
1779
,
1779
,
1842
,
/* 140 */
1842
,
1779
,
2295
,
2295
,
2295
,
1866
,
2255
,
2255
,
1779
,
1868
,
/* 150 */
1779
,
1779
,
1779
,
1779
,
2125
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 160 */
1779
,
1989
,
1779
,
2013
,
1779
,
1779
,
1779
,
2117
,
1779
,
1779
,
/* 170 */
2320
,
2377
,
1779
,
1779
,
2323
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 180 */
1779
,
2069
,
1779
,
1779
,
1941
,
2310
,
2287
,
2301
,
2361
,
2288
,
/* 190 */
2285
,
2304
,
1779
,
2314
,
1779
,
1779
,
2139
,
1868
,
1779
,
1868
,
/* 200 */
2104
,
1779
,
2062
,
1779
,
1779
,
2062
,
2059
,
1779
,
1779
,
1779
,
/* 210 */
2062
,
2059
,
2059
,
1930
,
1926
,
1779
,
1924
,
1779
,
1779
,
1779
,
/* 220 */
1779
,
1826
,
1779
,
1826
,
1779
,
1868
,
1779
,
1868
,
1779
,
1779
,
/* 230 */
1868
,
1779
,
1868
,
1868
,
1868
,
1779
,
1868
,
1779
,
1779
,
1779
,
/* 240 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 250 */
2137
,
2123
,
1779
,
1866
,
2115
,
2113
,
1779
,
1866
,
2111
,
2314
,
/* 260 */
1779
,
1779
,
1779
,
1779
,
2331
,
2329
,
1779
,
2331
,
2329
,
1779
,
/* 270 */
1779
,
1779
,
2345
,
2341
,
2331
,
2350
,
2347
,
2316
,
2314
,
2380
,
/* 280 */
2367
,
2363
,
2301
,
1779
,
1779
,
1779
,
1866
,
1866
,
1779
,
2329
,
/* 290 */
1779
,
1779
,
1779
,
1779
,
1779
,
2329
,
1779
,
1779
,
1866
,
1779
,
/* 300 */
1866
,
1779
,
1779
,
1957
,
1779
,
1779
,
1779
,
1866
,
1811
,
1779
,
/* 310 */
2106
,
2128
,
2087
,
2087
,
1992
,
1992
,
1992
,
1869
,
1784
,
1779
,
/* 320 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 330 */
1779
,
2344
,
2343
,
2210
,
1779
,
2259
,
2258
,
2257
,
2248
,
2209
,
/* 340 */
1953
,
1779
,
2208
,
2207
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 350 */
1779
,
1779
,
1779
,
2078
,
2077
,
2201
,
1779
,
1779
,
2202
,
2200
,
/* 360 */
2199
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 370 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 380 */
1779
,
1779
,
1779
,
1779
,
1779
,
2364
,
2368
,
1779
,
1779
,
1779
,
/* 390 */
1779
,
1779
,
1779
,
2284
,
1779
,
1779
,
1779
,
2183
,
1779
,
1779
,
/* 400 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 410 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 420 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 430 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 440 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 450 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 460 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 470 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 480 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 490 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 500 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 510 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 520 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 530 */
1779
,
1816
,
2188
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 540 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 550 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 560 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 570 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 580 */
1779
,
1779
,
1779
,
1907
,
1906
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 590 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 600 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
2192
,
1779
,
1779
,
/* 610 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 620 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
2360
,
2317
,
1779
,
1779
,
/* 630 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 640 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
2183
,
1779
,
2342
,
1779
,
/* 650 */
1779
,
2358
,
1779
,
2362
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 660 */
1779
,
2294
,
2290
,
1779
,
1779
,
2286
,
1779
,
1779
,
1779
,
1779
,
/* 670 */
1779
,
2191
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 680 */
1779
,
1779
,
1779
,
1779
,
1779
,
2182
,
1779
,
2245
,
1779
,
1779
,
/* 690 */
1779
,
2279
,
1779
,
1779
,
2230
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 700 */
1779
,
1779
,
1779
,
1779
,
2192
,
1779
,
2195
,
1779
,
1779
,
1779
,
/* 710 */
1779
,
1779
,
1986
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 720 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1970
,
1968
,
/* 730 */
1967
,
1966
,
1779
,
1963
,
1779
,
1999
,
1779
,
1779
,
1779
,
1995
,
/* 740 */
1994
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 750 */
1779
,
1779
,
1779
,
1779
,
1887
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 760 */
1779
,
1779
,
1779
,
1879
,
1779
,
1878
,
1779
,
1779
,
1779
,
1779
,
/* 770 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 780 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
/* 790 */
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
1779
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1853,15 +1886,15 @@ static const char *const yyTokenName[] = {
/* 376 */
"multi_drop_clause"
,
/* 377 */
"alter_table_clause"
,
/* 378 */
"alter_table_options"
,
/* 379 */
"column_
name
"
,
/* 380 */
"
type
_name"
,
/* 379 */
"column_
def
"
,
/* 380 */
"
column
_name"
,
/* 381 */
"signed_literal"
,
/* 382 */
"create_subtable_clause"
,
/* 383 */
"specific_cols_opt"
,
/* 384 */
"expression_list"
,
/* 385 */
"drop_table_clause"
,
/* 386 */
"col_name_list"
,
/* 387 */
"
column_def
"
,
/* 387 */
"
type_name
"
,
/* 388 */
"duration_list"
,
/* 389 */
"rollup_func_list"
,
/* 390 */
"alter_table_option"
,
...
...
@@ -2128,13 +2161,13 @@ static const char *const yyRuleName[] = {
/* 157 */
"cmd ::= ALTER TABLE alter_table_clause"
,
/* 158 */
"cmd ::= ALTER STABLE alter_table_clause"
,
/* 159 */
"alter_table_clause ::= full_table_name alter_table_options"
,
/* 160 */
"alter_table_clause ::= full_table_name ADD COLUMN column_
name type_name
"
,
/* 160 */
"alter_table_clause ::= full_table_name ADD COLUMN column_
def
"
,
/* 161 */
"alter_table_clause ::= full_table_name DROP COLUMN column_name"
,
/* 162 */
"alter_table_clause ::= full_table_name MODIFY COLUMN column_
name type_name
"
,
/* 162 */
"alter_table_clause ::= full_table_name MODIFY COLUMN column_
def
"
,
/* 163 */
"alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name"
,
/* 164 */
"alter_table_clause ::= full_table_name ADD TAG column_
name type_name
"
,
/* 164 */
"alter_table_clause ::= full_table_name ADD TAG column_
def
"
,
/* 165 */
"alter_table_clause ::= full_table_name DROP TAG column_name"
,
/* 166 */
"alter_table_clause ::= full_table_name MODIFY TAG column_
name type_name
"
,
/* 166 */
"alter_table_clause ::= full_table_name MODIFY TAG column_
def
"
,
/* 167 */
"alter_table_clause ::= full_table_name RENAME TAG column_name column_name"
,
/* 168 */
"alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal"
,
/* 169 */
"multi_create_clause ::= create_subtable_clause"
,
...
...
@@ -2709,10 +2742,10 @@ static void yy_destructor(
case
373
:
/* table_options */
case
377
:
/* alter_table_clause */
case
378
:
/* alter_table_options */
case
379
:
/* column_def */
case
381
:
/* signed_literal */
case
382
:
/* create_subtable_clause */
case
385
:
/* drop_table_clause */
case
387
:
/* column_def */
case
391
:
/* duration_literal */
case
392
:
/* rollup_func_name */
case
394
:
/* col_name */
...
...
@@ -2788,7 +2821,7 @@ static void yy_destructor(
case
351
:
/* table_name */
case
352
:
/* topic_name */
case
354
:
/* dnode_endpoint */
case
3
79
:
/* column_name */
case
3
80
:
/* column_name */
case
393
:
/* function_name */
case
401
:
/* column_alias */
case
404
:
/* index_name */
...
...
@@ -2873,7 +2906,7 @@ static void yy_destructor(
}
break
;
case
38
0
:
/* type_name */
case
38
7
:
/* type_name */
{
}
...
...
@@ -3350,13 +3383,13 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
338
,
/* (157) cmd ::= ALTER TABLE alter_table_clause */
338
,
/* (158) cmd ::= ALTER STABLE alter_table_clause */
377
,
/* (159) alter_table_clause ::= full_table_name alter_table_options */
377
,
/* (160) alter_table_clause ::= full_table_name ADD COLUMN column_
name type_name
*/
377
,
/* (160) alter_table_clause ::= full_table_name ADD COLUMN column_
def
*/
377
,
/* (161) alter_table_clause ::= full_table_name DROP COLUMN column_name */
377
,
/* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_
name type_name
*/
377
,
/* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_
def
*/
377
,
/* (163) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
377
,
/* (164) alter_table_clause ::= full_table_name ADD TAG column_
name type_name
*/
377
,
/* (164) alter_table_clause ::= full_table_name ADD TAG column_
def
*/
377
,
/* (165) alter_table_clause ::= full_table_name DROP TAG column_name */
377
,
/* (166) alter_table_clause ::= full_table_name MODIFY TAG column_
name type_name
*/
377
,
/* (166) alter_table_clause ::= full_table_name MODIFY TAG column_
def
*/
377
,
/* (167) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
377
,
/* (168) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */
374
,
/* (169) multi_create_clause ::= create_subtable_clause */
...
...
@@ -3371,32 +3404,32 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
370
,
/* (178) full_table_name ::= db_name NK_DOT table_name */
371
,
/* (179) column_def_list ::= column_def */
371
,
/* (180) column_def_list ::= column_def_list NK_COMMA column_def */
3
87
,
/* (181) column_def ::= column_name type_name */
3
87
,
/* (182) column_def ::= column_name type_name COMMENT NK_STRING */
38
0
,
/* (183) type_name ::= BOOL */
38
0
,
/* (184) type_name ::= TINYINT */
38
0
,
/* (185) type_name ::= SMALLINT */
38
0
,
/* (186) type_name ::= INT */
38
0
,
/* (187) type_name ::= INTEGER */
38
0
,
/* (188) type_name ::= BIGINT */
38
0
,
/* (189) type_name ::= FLOAT */
38
0
,
/* (190) type_name ::= DOUBLE */
38
0
,
/* (191) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
38
0
,
/* (192) type_name ::= TIMESTAMP */
38
0
,
/* (193) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
38
0
,
/* (194) type_name ::= TINYINT UNSIGNED */
38
0
,
/* (195) type_name ::= SMALLINT UNSIGNED */
38
0
,
/* (196) type_name ::= INT UNSIGNED */
38
0
,
/* (197) type_name ::= BIGINT UNSIGNED */
38
0
,
/* (198) type_name ::= JSON */
38
0
,
/* (199) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
38
0
,
/* (200) type_name ::= MEDIUMBLOB */
38
0
,
/* (201) type_name ::= BLOB */
38
0
,
/* (202) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
38
0
,
/* (203) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */
38
0
,
/* (204) type_name ::= DECIMAL */
38
0
,
/* (205) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
38
0
,
/* (206) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
3
79
,
/* (181) column_def ::= column_name type_name */
3
79
,
/* (182) column_def ::= column_name type_name COMMENT NK_STRING */
38
7
,
/* (183) type_name ::= BOOL */
38
7
,
/* (184) type_name ::= TINYINT */
38
7
,
/* (185) type_name ::= SMALLINT */
38
7
,
/* (186) type_name ::= INT */
38
7
,
/* (187) type_name ::= INTEGER */
38
7
,
/* (188) type_name ::= BIGINT */
38
7
,
/* (189) type_name ::= FLOAT */
38
7
,
/* (190) type_name ::= DOUBLE */
38
7
,
/* (191) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
38
7
,
/* (192) type_name ::= TIMESTAMP */
38
7
,
/* (193) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
38
7
,
/* (194) type_name ::= TINYINT UNSIGNED */
38
7
,
/* (195) type_name ::= SMALLINT UNSIGNED */
38
7
,
/* (196) type_name ::= INT UNSIGNED */
38
7
,
/* (197) type_name ::= BIGINT UNSIGNED */
38
7
,
/* (198) type_name ::= JSON */
38
7
,
/* (199) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
38
7
,
/* (200) type_name ::= MEDIUMBLOB */
38
7
,
/* (201) type_name ::= BLOB */
38
7
,
/* (202) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
38
7
,
/* (203) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */
38
7
,
/* (204) type_name ::= DECIMAL */
38
7
,
/* (205) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
38
7
,
/* (206) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
372
,
/* (207) tags_def_opt ::= */
372
,
/* (208) tags_def_opt ::= tags_def */
375
,
/* (209) tags_def ::= TAGS NK_LP column_def_list NK_RP */
...
...
@@ -3591,7 +3624,7 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
430
,
/* (398) literal_list ::= literal_list NK_COMMA signed_literal */
350
,
/* (399) db_name ::= NK_ID */
351
,
/* (400) table_name ::= NK_ID */
3
79
,
/* (401) column_name ::= NK_ID */
3
80
,
/* (401) column_name ::= NK_ID */
393
,
/* (402) function_name ::= NK_ID */
431
,
/* (403) table_alias ::= NK_ID */
401
,
/* (404) column_alias ::= NK_ID */
...
...
@@ -3956,13 +3989,13 @@ static const signed char yyRuleInfoNRhs[] = {
-
3
,
/* (157) cmd ::= ALTER TABLE alter_table_clause */
-
3
,
/* (158) cmd ::= ALTER STABLE alter_table_clause */
-
2
,
/* (159) alter_table_clause ::= full_table_name alter_table_options */
-
5
,
/* (160) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name
*/
-
4
,
/* (160) alter_table_clause ::= full_table_name ADD COLUMN column_def
*/
-
4
,
/* (161) alter_table_clause ::= full_table_name DROP COLUMN column_name */
-
5
,
/* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name
*/
-
4
,
/* (162) alter_table_clause ::= full_table_name MODIFY COLUMN column_def
*/
-
5
,
/* (163) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
-
5
,
/* (164) alter_table_clause ::= full_table_name ADD TAG column_name type_name
*/
-
4
,
/* (164) alter_table_clause ::= full_table_name ADD TAG column_def
*/
-
4
,
/* (165) alter_table_clause ::= full_table_name DROP TAG column_name */
-
5
,
/* (166) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name
*/
-
4
,
/* (166) alter_table_clause ::= full_table_name MODIFY TAG column_def
*/
-
5
,
/* (167) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
-
6
,
/* (168) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */
-
1
,
/* (169) multi_create_clause ::= create_subtable_clause */
...
...
@@ -5058,33 +5091,33 @@ static YYACTIONTYPE yy_reduce(
{
yylhsminor
.
yy452
=
createAlterTableModifyOptions
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy452
,
yymsp
[
0
].
minor
.
yy452
);
}
yymsp
[
-
1
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
160
:
/* alter_table_clause ::= full_table_name ADD COLUMN column_
name type_name
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy452
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
&
yymsp
[
-
1
].
minor
.
yy371
,
yymsp
[
0
].
minor
.
yy310
);
}
yymsp
[
-
4
].
minor
.
yy452
=
yylhsminor
.
yy452
;
case
160
:
/* alter_table_clause ::= full_table_name ADD COLUMN column_
def
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy452
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
yymsp
[
0
].
minor
.
yy452
);
}
yymsp
[
-
3
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
161
:
/* alter_table_clause ::= full_table_name DROP COLUMN column_name */
{
yylhsminor
.
yy452
=
createAlterTableDropCol
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy452
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
&
yymsp
[
0
].
minor
.
yy371
);
}
yymsp
[
-
3
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
162
:
/* alter_table_clause ::= full_table_name MODIFY COLUMN column_
name type_name
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy452
,
TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES
,
&
yymsp
[
-
1
].
minor
.
yy371
,
yymsp
[
0
].
minor
.
yy310
);
}
yymsp
[
-
4
].
minor
.
yy452
=
yylhsminor
.
yy452
;
case
162
:
/* alter_table_clause ::= full_table_name MODIFY COLUMN column_
def
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy452
,
TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES
,
yymsp
[
0
].
minor
.
yy452
);
}
yymsp
[
-
3
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
163
:
/* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
{
yylhsminor
.
yy452
=
createAlterTableRenameCol
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy452
,
TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME
,
&
yymsp
[
-
1
].
minor
.
yy371
,
&
yymsp
[
0
].
minor
.
yy371
);
}
yymsp
[
-
4
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
164
:
/* alter_table_clause ::= full_table_name ADD TAG column_
name type_name
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy452
,
TSDB_ALTER_TABLE_ADD_TAG
,
&
yymsp
[
-
1
].
minor
.
yy371
,
yymsp
[
0
].
minor
.
yy310
);
}
yymsp
[
-
4
].
minor
.
yy452
=
yylhsminor
.
yy452
;
case
164
:
/* alter_table_clause ::= full_table_name ADD TAG column_
def
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy452
,
TSDB_ALTER_TABLE_ADD_TAG
,
yymsp
[
0
].
minor
.
yy452
);
}
yymsp
[
-
3
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
165
:
/* alter_table_clause ::= full_table_name DROP TAG column_name */
{
yylhsminor
.
yy452
=
createAlterTableDropCol
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy452
,
TSDB_ALTER_TABLE_DROP_TAG
,
&
yymsp
[
0
].
minor
.
yy371
);
}
yymsp
[
-
3
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
166
:
/* alter_table_clause ::= full_table_name MODIFY TAG column_
name type_name
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy452
,
TSDB_ALTER_TABLE_UPDATE_TAG_BYTES
,
&
yymsp
[
-
1
].
minor
.
yy371
,
yymsp
[
0
].
minor
.
yy310
);
}
yymsp
[
-
4
].
minor
.
yy452
=
yylhsminor
.
yy452
;
case
166
:
/* alter_table_clause ::= full_table_name MODIFY TAG column_
def
*/
{
yylhsminor
.
yy452
=
createAlterTableAddModifyCol
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy452
,
TSDB_ALTER_TABLE_UPDATE_TAG_BYTES
,
yymsp
[
0
].
minor
.
yy452
);
}
yymsp
[
-
3
].
minor
.
yy452
=
yylhsminor
.
yy452
;
break
;
case
167
:
/* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
{
yylhsminor
.
yy452
=
createAlterTableRenameCol
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy452
,
TSDB_ALTER_TABLE_UPDATE_TAG_NAME
,
&
yymsp
[
-
1
].
minor
.
yy371
,
&
yymsp
[
0
].
minor
.
yy371
);
}
...
...
tests/system-test/0-others/show.py
浏览文件 @
cb027cc5
...
...
@@ -215,12 +215,51 @@ class TDTestCase:
tdSql
.
execute
(
"use comment_test_db"
)
tdSql
.
execute
(
"create table normal_table(ts timestamp, c2 int comment 'c2 comment')"
)
tdSql
.
execute
(
"create stable super_table(ts timestamp comment 'ts', c2 int comment 'c2 comment') tags(tg int comment 'tg comment')"
)
tdSql
.
query
(
'show create table normal_table'
)
create_sql
=
"create table `normal_table` (`ts` timestamp, `c2` int)"
tdSql
.
query
(
'show create table normal_table'
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
tdSql
.
query
(
'show create table super_table'
)
create_sql
=
"create stable `super_table` (`ts` timestamp, `c2` int) tags (`tg` int)"
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
tdSql
.
execute
(
"drop database comment_test_db"
)
def
alter_table_with_col_comment
(
self
):
tdSql
.
execute
(
"create database comment_test_db"
)
tdSql
.
execute
(
"use comment_test_db"
)
tdSql
.
execute
(
"create table normal_table(ts timestamp, c2 int comment 'c2 comment')"
)
tdSql
.
execute
(
"create stable super_table(ts timestamp comment 'ts', c2 int comment 'c2 comment') tags(tg int comment 'tg comment')"
)
create_sql
=
"create table `normal_table` (`ts` timestamp, `c2` int, `c3` int)"
tdSql
.
execute
(
"alter table normal_table add column c3 int comment 'c3 comment'"
,
queryTimes
=
1
)
tdSql
.
query
(
"show create table normal_table"
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
create_sql
=
"create table `normal_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(255))"
tdSql
.
execute
(
"alter table normal_table add column c4 varchar(255) comment 'c4 comment'"
,
queryTimes
=
1
)
tdSql
.
query
(
"show create table normal_table"
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
create_sql
=
"create table `normal_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(255), `c5` varchar(255))"
tdSql
.
execute
(
"alter table normal_table add column c5 varchar(255)"
,
queryTimes
=
1
)
tdSql
.
query
(
"show create table normal_table"
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
create_sql
=
"create stable `super_table` (`ts` timestamp, `c2` int, `c3` int) tags (`tg` int) sma(`ts`,`c2`)"
tdSql
.
execute
(
"alter table super_table add column c3 int comment 'c3 comment'"
,
queryTimes
=
1
)
tdSql
.
query
(
"show create table super_table"
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
create_sql
=
"create stable `super_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(255)) tags (`tg` int) sma(`ts`,`c2`)"
tdSql
.
execute
(
"alter table super_table add column c4 varchar(255) comment 'c4 comment'"
,
queryTimes
=
1
)
tdSql
.
query
(
"show create table super_table"
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
create_sql
=
"create stable `super_table` (`ts` timestamp, `c2` int, `c3` int, `c4` varchar(256)) tags (`tg` int) sma(`ts`,`c2`)"
tdSql
.
execute
(
"alter table super_table modify column c4 varchar(256) comment 'c4 256 comment'"
,
queryTimes
=
1
)
tdSql
.
query
(
"show create table super_table"
)
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
1
].
lower
(),
create_sql
)
tdSql
.
execute
(
"drop database comment_test_db"
)
def
run
(
self
):
self
.
check_gitinfo
()
...
...
@@ -231,6 +270,7 @@ class TDTestCase:
self
.
show_create_sysdb_sql
()
self
.
show_create_systb_sql
()
self
.
show_create_table_with_col_comment
()
self
.
alter_table_with_col_comment
()
def
stop
(
self
):
tdSql
.
close
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录