Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
soar
提交
11f1bc33
S
soar
项目概览
Xiaomi
/
soar
大约 2 年 前同步成功
通知
467
Star
8513
Fork
1329
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
soar
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
11f1bc33
编写于
11月 10, 2018
作者:
martianzhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
daily update
1. update vitess dependency 2. explain database prefix check
上级
347ad1db
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
1531 addition
and
1385 deletion
+1531
-1385
CHANGES.md
CHANGES.md
+7
-3
README.md
README.md
+1
-1
README_EN.md
README_EN.md
+1
-1
cmd/soar/soar.go
cmd/soar/soar.go
+1
-1
env/env.go
env/env.go
+2
-2
vendor/vendor.json
vendor/vendor.json
+23
-23
vendor/vitess.io/vitess/go/vt/sqlparser/ast.go
vendor/vitess.io/vitess/go/vt/sqlparser/ast.go
+17
-7
vendor/vitess.io/vitess/go/vt/sqlparser/sql.go
vendor/vitess.io/vitess/go/vt/sqlparser/sql.go
+1455
-1347
vendor/vitess.io/vitess/go/vt/sqlparser/sql.y
vendor/vitess.io/vitess/go/vt/sqlparser/sql.y
+24
-0
未找到文件。
CHANGES.md
浏览文件 @
11f1bc33
# 更新日志
# CHANGELOG
## 2018-11
## 2018-11
-
TODO: english translation
-
DOING: english translation
-
add -cleanup-test-database command-line arg
-
fix -config arg load file error
-
fix #87 RuleImplicitConversion value type mistach check bug
-
fix #38 always true where condition check
-
abandon stdin terminal interactive mod, which may seems like hangup
## 2018-10
## 2018-10
-
Fix SplitStatement mulitstatement eof bug #66
-
Fix SplitStatement mulitstatement eof bug #66
...
...
README.md
浏览文件 @
11f1bc33
...
@@ -42,4 +42,4 @@ SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化
...
@@ -42,4 +42,4 @@ SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化
## License
## License
[
Apache License 2.0
](
http://github.com/XiaoMi/soar/blob/master/LICENSE
)
.
[
Apache License 2.0
](
http
s
://github.com/XiaoMi/soar/blob/master/LICENSE
)
.
README_EN.md
浏览文件 @
11f1bc33
...
@@ -37,4 +37,4 @@ SOAR (SQL Optimizer And Rewriter) is a tool, which can help SQL optimization and
...
@@ -37,4 +37,4 @@ SOAR (SQL Optimizer And Rewriter) is a tool, which can help SQL optimization and
## License
## License
[
Apache License 2.0
](
http://github.com/XiaoMi/soar/blob/master/LICENSE
)
.
[
Apache License 2.0
](
http
s
://github.com/XiaoMi/soar/blob/master/LICENSE
)
.
cmd/soar/soar.go
浏览文件 @
11f1bc33
...
@@ -352,7 +352,7 @@ func main() {
...
@@ -352,7 +352,7 @@ func main() {
explainInfo
,
err
:=
rEnv
.
Explain
(
q
.
Query
,
explainInfo
,
err
:=
rEnv
.
Explain
(
q
.
Query
,
database
.
ExplainType
[
common
.
Config
.
ExplainType
],
database
.
ExplainType
[
common
.
Config
.
ExplainType
],
database
.
ExplainFormatType
[
common
.
Config
.
ExplainFormat
])
database
.
ExplainFormatType
[
common
.
Config
.
ExplainFormat
])
if
err
!=
nil
{
if
err
!=
nil
&&
strings
.
HasPrefix
(
vEnv
.
Database
,
"optimizer_"
)
{
// 线上环境执行失败才到测试环境 EXPLAIN,比如在用户提供建表语句及查询语句的场景
// 线上环境执行失败才到测试环境 EXPLAIN,比如在用户提供建表语句及查询语句的场景
common
.
Log
.
Warn
(
"rEnv.Explain Warn: %v"
,
err
)
common
.
Log
.
Warn
(
"rEnv.Explain Warn: %v"
,
err
)
explainInfo
,
err
=
vEnv
.
Explain
(
q
.
Query
,
explainInfo
,
err
=
vEnv
.
Explain
(
q
.
Query
,
...
...
env/env.go
浏览文件 @
11f1bc33
...
@@ -35,8 +35,8 @@ type VirtualEnv struct {
...
@@ -35,8 +35,8 @@ type VirtualEnv struct {
*
database
.
Connector
*
database
.
Connector
// 保存DB测试环境映射关系,防止vEnv环境冲突。
// 保存DB测试环境映射关系,防止vEnv环境冲突。
DBRef
map
[
string
]
string
DBRef
map
[
string
]
string
// db -> optimizer_xxx
hash2Db
map
[
string
]
string
hash2Db
map
[
string
]
string
// optimizer_xxx -> db
// 保存Table创建关系,防止重复创建表
// 保存Table创建关系,防止重复创建表
TableMap
map
[
string
]
map
[
string
]
string
TableMap
map
[
string
]
map
[
string
]
string
// 错误
// 错误
...
...
vendor/vendor.json
浏览文件 @
11f1bc33
...
@@ -1016,68 +1016,68 @@
...
@@ -1016,68 +1016,68 @@
{
{
"checksumSHA1"
:
"w8FCRjH70gM6QttB9QrEh9Y1x64="
,
"checksumSHA1"
:
"w8FCRjH70gM6QttB9QrEh9Y1x64="
,
"path"
:
"vitess.io/vitess"
,
"path"
:
"vitess.io/vitess"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"aKn1oKcY74N8TRLm3Ayt7Q4bbI4="
,
"checksumSHA1"
:
"aKn1oKcY74N8TRLm3Ayt7Q4bbI4="
,
"path"
:
"vitess.io/vitess/go/bytes2"
,
"path"
:
"vitess.io/vitess/go/bytes2"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"JVCEN4UGRmg3TofIBdzZMZ3G0Ww="
,
"checksumSHA1"
:
"JVCEN4UGRmg3TofIBdzZMZ3G0Ww="
,
"path"
:
"vitess.io/vitess/go/hack"
,
"path"
:
"vitess.io/vitess/go/hack"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"e1WJ7vCnVrlQQQlc6n/FewCDMso="
,
"checksumSHA1"
:
"e1WJ7vCnVrlQQQlc6n/FewCDMso="
,
"path"
:
"vitess.io/vitess/go/sqltypes"
,
"path"
:
"vitess.io/vitess/go/sqltypes"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"ntFIQYkBS51G6y+FEkjFW40+HOU="
,
"checksumSHA1"
:
"ntFIQYkBS51G6y+FEkjFW40+HOU="
,
"path"
:
"vitess.io/vitess/go/vt/log"
,
"path"
:
"vitess.io/vitess/go/vt/log"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"XozR8bmeSR5KTe/nlUJkpJY2HKI="
,
"checksumSHA1"
:
"XozR8bmeSR5KTe/nlUJkpJY2HKI="
,
"path"
:
"vitess.io/vitess/go/vt/proto/query"
,
"path"
:
"vitess.io/vitess/go/vt/proto/query"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"OnWsUHLDKcO3spwH0jD55SvKD24="
,
"checksumSHA1"
:
"OnWsUHLDKcO3spwH0jD55SvKD24="
,
"path"
:
"vitess.io/vitess/go/vt/proto/topodata"
,
"path"
:
"vitess.io/vitess/go/vt/proto/topodata"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"sBAuZ/itMR8U8qbK4yLHxkP6Cpc="
,
"checksumSHA1"
:
"sBAuZ/itMR8U8qbK4yLHxkP6Cpc="
,
"path"
:
"vitess.io/vitess/go/vt/proto/vtgate"
,
"path"
:
"vitess.io/vitess/go/vt/proto/vtgate"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"pLWM+SPGZs3k+IhjktE/cGUlpM0="
,
"checksumSHA1"
:
"pLWM+SPGZs3k+IhjktE/cGUlpM0="
,
"path"
:
"vitess.io/vitess/go/vt/proto/vtrpc"
,
"path"
:
"vitess.io/vitess/go/vt/proto/vtrpc"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"3
rucaIfitefjezWeglPndd50Mcw
="
,
"checksumSHA1"
:
"3
ggEFYVEhMPxyhkKhRGw3x1eZ9M
="
,
"path"
:
"vitess.io/vitess/go/vt/sqlparser"
,
"path"
:
"vitess.io/vitess/go/vt/sqlparser"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
},
},
{
{
"checksumSHA1"
:
"oF4XzuOzwvj1iduX/lYqNSyY/HM="
,
"checksumSHA1"
:
"oF4XzuOzwvj1iduX/lYqNSyY/HM="
,
"path"
:
"vitess.io/vitess/go/vt/vterrors"
,
"path"
:
"vitess.io/vitess/go/vt/vterrors"
,
"revision"
:
"
54855ec7b36906b6d53aa5af0f0293a0a73ae928
"
,
"revision"
:
"
b06f7c89ac5f0c632d9bc9621c70b014d91b27f9
"
,
"revisionTime"
:
"2018-11-0
5T03:16:12
Z"
"revisionTime"
:
"2018-11-0
9T17:11:46
Z"
}
}
],
],
"rootPath"
:
"github.com/XiaoMi/soar"
"rootPath"
:
"github.com/XiaoMi/soar"
...
...
vendor/vitess.io/vitess/go/vt/sqlparser/ast.go
浏览文件 @
11f1bc33
...
@@ -2998,20 +2998,30 @@ func (node *ValuesFuncExpr) replace(from, to Expr) bool {
...
@@ -2998,20 +2998,30 @@ func (node *ValuesFuncExpr) replace(from, to Expr) bool {
}
}
// SubstrExpr represents a call to SubstrExpr(column, value_expression) or SubstrExpr(column, value_expression,value_expression)
// SubstrExpr represents a call to SubstrExpr(column, value_expression) or SubstrExpr(column, value_expression,value_expression)
// also supported syntax SubstrExpr(column from value_expression for value_expression)
// also supported syntax SubstrExpr(column from value_expression for value_expression).
// Additionally to column names, SubstrExpr is also supported for string values, e.g.:
// SubstrExpr('static string value', value_expression, value_expression)
// In this case StrVal will be set instead of Name.
type
SubstrExpr
struct
{
type
SubstrExpr
struct
{
Name
*
ColName
Name
*
ColName
From
Expr
StrVal
*
SQLVal
To
Expr
From
Expr
To
Expr
}
}
// Format formats the node.
// Format formats the node.
func
(
node
*
SubstrExpr
)
Format
(
buf
*
TrackedBuffer
)
{
func
(
node
*
SubstrExpr
)
Format
(
buf
*
TrackedBuffer
)
{
var
val
interface
{}
if
node
.
Name
!=
nil
{
val
=
node
.
Name
}
else
{
val
=
node
.
StrVal
}
if
node
.
To
==
nil
{
if
node
.
To
==
nil
{
buf
.
Myprintf
(
"substr(%v, %v)"
,
node
.
Name
,
node
.
From
)
buf
.
Myprintf
(
"substr(%v, %v)"
,
val
,
node
.
From
)
}
else
{
}
else
{
buf
.
Myprintf
(
"substr(%v, %v, %v)"
,
node
.
Name
,
node
.
From
,
node
.
To
)
buf
.
Myprintf
(
"substr(%v, %v, %v)"
,
val
,
node
.
From
,
node
.
To
)
}
}
}
}
...
@@ -3020,7 +3030,7 @@ func (node *SubstrExpr) replace(from, to Expr) bool {
...
@@ -3020,7 +3030,7 @@ func (node *SubstrExpr) replace(from, to Expr) bool {
}
}
func
(
node
*
SubstrExpr
)
walkSubtree
(
visit
Visit
)
error
{
func
(
node
*
SubstrExpr
)
walkSubtree
(
visit
Visit
)
error
{
if
node
==
nil
{
if
node
==
nil
||
node
.
Name
==
nil
{
return
nil
return
nil
}
}
return
Walk
(
return
Walk
(
...
...
vendor/vitess.io/vitess/go/vt/sqlparser/sql.go
浏览文件 @
11f1bc33
...
@@ -632,23 +632,23 @@ var yyExca = [...]int{
...
@@ -632,23 +632,23 @@ var yyExca = [...]int{
160
,
294
,
160
,
294
,
-
2
,
284
,
-
2
,
284
,
-
1
,
262
,
-
1
,
262
,
112
,
6
24
,
112
,
6
30
,
-
2
,
62
0
,
-
2
,
62
6
,
-
1
,
263
,
-
1
,
263
,
112
,
6
25
,
112
,
6
31
,
-
2
,
62
1
,
-
2
,
62
7
,
-
1
,
326
,
-
1
,
326
,
82
,
79
3
,
82
,
79
9
,
-
2
,
60
,
-
2
,
60
,
-
1
,
327
,
-
1
,
327
,
82
,
75
1
,
82
,
75
7
,
-
2
,
61
,
-
2
,
61
,
-
1
,
332
,
-
1
,
332
,
82
,
73
1
,
82
,
73
7
,
-
2
,
5
86
,
-
2
,
5
92
,
-
1
,
334
,
-
1
,
334
,
82
,
77
2
,
82
,
77
8
,
-
2
,
5
88
,
-
2
,
5
94
,
-
1
,
587
,
-
1
,
587
,
1
,
346
,
1
,
346
,
5
,
346
,
5
,
346
,
...
@@ -678,316 +678,308 @@ var yyExca = [...]int{
...
@@ -678,316 +678,308 @@ var yyExca = [...]int{
55
,
43
,
55
,
43
,
-
2
,
45
,
-
2
,
45
,
-
1
,
727
,
-
1
,
727
,
112
,
6
27
,
112
,
6
33
,
-
2
,
62
3
,
-
2
,
62
9
,
-
1
,
94
0
,
-
1
,
94
2
,
5
,
30
,
5
,
30
,
-
2
,
430
,
-
2
,
430
,
-
1
,
9
65
,
-
1
,
9
71
,
5
,
29
,
5
,
29
,
-
2
,
56
0
,
-
2
,
56
6
,
-
1
,
12
07
,
-
1
,
12
23
,
5
,
30
,
5
,
30
,
-
2
,
56
1
,
-
2
,
56
7
,
-
1
,
12
5
7
,
-
1
,
12
7
7
,
5
,
29
,
5
,
29
,
-
2
,
56
3
,
-
2
,
56
9
,
-
1
,
13
30
,
-
1
,
13
54
,
5
,
30
,
5
,
30
,
-
2
,
5
64
,
-
2
,
5
70
,
}
}
const
yyPrivate
=
57344
const
yyPrivate
=
57344
const
yyLast
=
11
224
const
yyLast
=
11
862
var
yyAct
=
[
...
]
int
{
var
yyAct
=
[
...
]
int
{
263
,
1365
,
1355
,
1321
,
878
,
662
,
968
,
1227
,
552
,
267
,
263
,
1389
,
1379
,
552
,
662
,
1289
,
1345
,
974
,
293
,
880
,
1269
,
1107
,
986
,
1141
,
969
,
1104
,
1037
,
828
,
293
,
829
,
992
,
267
,
1243
,
1117
,
1151
,
808
,
1043
,
241
,
1118
,
57
,
806
,
804
,
906
,
57
,
838
,
1108
,
1120
,
872
,
551
,
3
,
1114
,
874
,
975
,
806
,
908
,
831
,
827
,
860
,
551
,
3
,
825
,
1114
,
82
,
1011
,
1081
,
932
,
204
,
331
,
762
,
204
,
840
,
331
,
82
,
830
,
1124
,
1130
,
204
,
1087
,
934
,
204
,
992
,
759
,
600
,
241
,
752
,
692
,
1040
,
1028
,
793
,
232
,
692
,
752
,
762
,
232
,
998
,
1046
,
1034
,
600
,
1017
,
795
,
778
,
729
,
294
,
51
,
842
,
808
,
484
,
490
,
430
,
584
,
780
,
269
,
844
,
810
,
325
,
584
,
462
,
484
,
583
,
430
,
852
,
496
,
583
,
265
,
868
,
599
,
325
,
204
,
82
,
320
,
490
,
599
,
870
,
496
,
729
,
759
,
788
,
204
,
82
,
916
,
786
,
914
,
204
,
504
,
204
,
322
,
82
,
250
,
56
,
1358
,
265
,
250
,
204
,
504
,
204
,
320
,
82
,
322
,
566
,
56
,
240
,
1342
,
1353
,
462
,
566
,
1328
,
1350
,
895
,
879
,
1341
,
240
,
1382
,
1366
,
1377
,
1352
,
1374
,
464
,
881
,
233
,
234
,
1099
,
1201
,
435
,
1327
,
233
,
234
,
235
,
236
,
1280
,
858
,
235
,
236
,
1365
,
1351
,
239
,
1109
,
1217
,
435
,
1300
,
1159
,
239
,
894
,
254
,
601
,
51
,
602
,
457
,
199
,
195
,
196
,
1160
,
1161
,
897
,
1146
,
1147
,
1145
,
254
,
1164
,
1162
,
822
,
197
,
1135
,
246
,
1136
,
1137
,
269
,
1296
,
517
,
516
,
526
,
823
,
457
,
199
,
195
,
196
,
197
,
896
,
1005
,
821
,
61
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
899
,
1004
,
238
,
237
,
1006
,
854
,
1320
,
517
,
516
,
526
,
527
,
819
,
528
,
260
,
61
,
238
,
1149
,
1150
,
1151
,
893
,
999
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
1025
,
601
,
237
,
475
,
998
,
1154
,
1152
,
1000
,
820
,
821
,
476
,
473
,
528
,
602
,
853
,
475
,
901
,
63
,
64
,
65
,
66
,
67
,
474
,
1019
,
851
,
1230
,
1246
,
859
,
761
,
231
,
1190
,
63
,
476
,
473
,
474
,
895
,
328
,
1246
,
445
,
1262
,
861
,
1088
,
64
,
65
,
66
,
67
,
1188
,
468
,
469
,
1352
,
1349
,
1322
,
761
,
1200
,
231
,
1198
,
468
,
469
,
1376
,
1373
,
1346
,
1067
,
1082
,
1061
,
459
,
787
,
461
,
445
,
1312
,
843
,
1373
,
987
,
789
,
1336
,
845
,
1397
,
1290
,
1298
,
446
,
459
,
438
,
461
,
989
,
1270
,
446
,
438
,
1369
,
192
,
193
,
193
,
890
,
887
,
1393
,
993
,
995
,
192
,
193
,
193
,
1064
,
1292
,
1068
,
671
,
888
,
1062
,
886
,
204
,
1272
,
204
,
671
,
1130
,
845
,
661
,
661
,
1140
,
1066
,
204
,
1139
,
204
,
1090
,
1138
,
433
,
847
,
441
,
204
,
1278
,
1058
,
458
,
460
,
845
,
1084
,
204
,
1060
,
441
,
204
,
847
,
892
,
889
,
890
,
207
,
888
,
204
,
458
,
1129
,
1128
,
82
,
82
,
82
,
82
,
433
,
82
,
207
,
194
,
460
,
194
,
82
,
82
,
82
,
82
,
1325
,
82
,
213
,
540
,
540
,
541
,
1301
,
897
,
900
,
198
,
1210
,
82
,
1068
,
521
,
541
,
1226
,
1074
,
952
,
928
,
847
,
701
,
82
,
1018
,
1092
,
522
,
523
,
524
,
525
,
518
,
1012
,
948
,
528
,
926
,
701
,
198
,
1096
,
508
,
1091
,
452
,
1089
,
828
,
528
,
899
,
902
,
1086
,
1158
,
1090
,
508
,
1085
,
452
,
1083
,
518
,
826
,
528
,
1094
,
698
,
226
,
521
,
522
,
523
,
524
,
525
,
518
,
1093
,
528
,
1088
,
693
,
698
,
502
,
501
,
988
,
82
,
431
,
892
,
518
,
528
,
1168
,
528
,
431
,
1291
,
693
,
82
,
994
,
503
,
1087
,
1103
,
1271
,
908
,
463
,
463
,
463
,
463
,
492
,
463
,
910
,
1334
,
1095
,
1097
,
492
,
1178
,
431
,
1111
,
70
,
465
,
501
,
503
,
503
,
1089
,
1091
,
493
,
1310
,
70
,
1168
,
463
,
466
,
467
,
1128
,
470
,
894
,
493
,
1299
,
1297
,
603
,
1163
,
1118
,
891
,
603
,
1297
,
859
,
1101
,
503
,
480
,
481
,
456
,
781
,
480
,
481
,
479
,
665
,
1023
,
1391
,
861
,
1065
,
1392
,
1367
,
429
,
1159
,
1368
,
844
,
1366
,
465
,
466
,
467
,
51
,
1063
,
1390
,
1321
,
208
,
456
,
846
,
893
,
736
,
846
,
429
,
470
,
1326
,
844
,
1279
,
1277
,
1059
,
944
,
1057
,
943
,
437
,
210
,
1350
,
1398
,
1169
,
71
,
781
,
1339
,
961
,
216
,
212
,
479
,
502
,
501
,
71
,
537
,
1153
,
779
,
539
,
204
,
204
,
1356
,
734
,
735
,
733
,
498
,
1054
,
538
,
501
,
204
,
204
,
204
,
896
,
736
,
848
,
82
,
502
,
501
,
845
,
503
,
849
,
204
,
846
,
294
,
51
,
82
,
1253
,
843
,
841
,
1252
,
842
,
82
,
665
,
482
,
694
,
898
,
945
,
734
,
735
,
733
,
1017
,
82
,
704
,
705
,
503
,
839
,
845
,
898
,
694
,
909
,
850
,
582
,
907
,
503
,
1315
,
779
,
550
,
955
,
554
,
555
,
556
,
214
,
1399
,
582
,
218
,
1052
,
851
,
225
,
1332
,
1038
,
900
,
557
,
558
,
559
,
560
,
561
,
562
,
431
,
565
,
567
,
567
,
437
,
502
,
501
,
1037
,
448
,
449
,
450
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
494
,
503
,
528
,
587
,
191
,
209
,
946
,
51
,
945
,
1026
,
502
,
501
,
502
,
501
,
947
,
246
,
1358
,
1113
,
568
,
569
,
570
,
571
,
572
,
573
,
574
,
502
,
501
,
503
,
591
,
503
,
1335
,
54
,
219
,
211
,
597
,
220
,
221
,
222
,
224
,
223
,
229
,
732
,
503
,
328
,
1053
,
22
,
228
,
227
,
1273
,
1058
,
1055
,
1048
,
1056
,
1051
,
925
,
926
,
927
,
1049
,
1050
,
1250
,
700
,
439
,
440
,
204
,
502
,
501
,
1071
,
1035
,
82
,
317
,
318
,
1057
,
1295
,
1375
,
204
,
204
,
82
,
1060
,
753
,
204
,
754
,
503
,
204
,
1007
,
1054
,
1008
,
204
,
483
,
82
,
82
,
82
,
82
,
82
,
82
,
82
,
82
,
1018
,
699
,
719
,
721
,
722
,
1013
,
82
,
82
,
720
,
245
,
1362
,
483
,
1295
,
1343
,
1359
,
204
,
883
,
1052
,
502
,
501
,
755
,
680
,
283
,
282
,
285
,
286
,
287
,
288
,
660
,
1295
,
483
,
284
,
289
,
82
,
292
,
503
,
669
,
204
,
1295
,
1326
,
1295
,
1294
,
1305
,
82
,
1241
,
1240
,
1304
,
706
,
681
,
682
,
683
,
684
,
685
,
686
,
687
,
688
,
677
,
730
,
672
,
678
,
1228
,
483
,
689
,
690
,
1225
,
483
,
80
,
1175
,
1174
,
1171
,
1172
,
463
,
463
,
463
,
463
,
676
,
463
,
727
,
1171
,
1170
,
940
,
483
,
792
,
483
,
1053
,
666
,
463
,
82
,
664
,
1058
,
1055
,
1048
,
1056
,
1051
,
659
,
24
,
454
,
1049
,
1050
,
447
,
731
,
1301
,
330
,
708
,
764
,
483
,
51
,
1165
,
771
,
775
,
436
,
1057
,
610
,
609
,
782
,
725
,
723
,
1047
,
204
,
969
,
766
,
537
,
1115
,
970
,
539
,
1127
,
204
,
204
,
848
,
1127
,
204
,
204
,
726
,
764
,
82
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
54
,
999
,
528
,
58
,
82
,
756
,
757
,
1221
,
594
,
550
,
816
,
554
,
555
,
556
,
557
,
558
,
559
,
560
,
561
,
562
,
778
,
565
,
567
,
567
,
567
,
567
,
567
,
567
,
567
,
567
,
575
,
576
,
577
,
578
,
567
,
567
,
567
,
567
,
567
,
567
,
575
,
576
,
577
,
578
,
498
,
588
,
1332
,
448
,
449
,
450
,
719
,
721
,
722
,
191
,
587
,
588
,
785
,
999
,
587
,
24
,
1077
,
792
,
1177
,
940
,
538
,
494
,
720
,
1237
,
1236
,
502
,
501
,
439
,
440
,
591
,
792
,
818
,
862
,
863
,
864
,
1173
,
595
,
814
,
593
,
791
,
54
,
568
,
569
,
570
,
571
,
572
,
573
,
574
,
1032
,
597
,
819
,
956
,
204
,
1009
,
815
,
82
,
593
,
82
,
820
,
954
,
732
,
1031
,
503
,
542
,
543
,
544
,
545
,
546
,
547
,
548
,
835
,
204
,
204
,
1276
,
940
,
204
,
82
,
593
,
596
,
24
,
549
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
876
,
951
,
949
,
328
,
792
,
702
,
1127
,
670
,
54
,
247
,
524
,
525
,
518
,
844
,
1020
,
528
,
704
,
705
,
841
,
839
,
940
,
482
,
204
,
54
,
204
,
204
,
832
,
797
,
800
,
801
,
204
,
840
,
1374
,
22
,
587
,
82
,
837
,
843
,
923
,
924
,
802
,
798
,
1367
,
799
,
803
,
955
,
1342
,
1131
,
1132
,
330
,
925
,
204
,
204
,
82
,
317
,
318
,
204
,
1334
,
753
,
204
,
330
,
330
,
330
,
953
,
330
,
1257
,
767
,
768
,
872
,
873
,
754
,
1311
,
1001
,
204
,
1002
,
82
,
82
,
82
,
82
,
82
,
1248
,
884
,
777
,
886
,
330
,
950
,
948
,
54
,
855
,
1233
,
82
,
82
,
82
,
464
,
933
,
1253
,
1234
,
1065
,
1029
,
82
,
875
,
1156
,
906
,
727
,
1131
,
1132
,
784
,
54
,
786
,
787
,
82
,
1375
,
1275
,
1351
,
502
,
501
,
1338
,
483
,
204
,
519
,
1012
,
871
,
730
,
866
,
856
,
857
,
858
,
859
,
865
,
797
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
463
,
292
,
528
,
800
,
801
,
802
,
798
,
506
,
799
,
803
,
463
,
663
,
878
,
680
,
503
,
1308
,
245
,
1012
,
463
,
82
,
1275
,
1319
,
483
,
867
,
868
,
869
,
917
,
918
,
463
,
1384
,
1380
,
1158
,
1134
,
204
,
1275
,
483
,
1275
,
1302
,
1335
,
82
,
463
,
463
,
463
,
1115
,
1039
,
674
,
477
,
714
,
1137
,
1136
,
463
,
463
,
463
,
463
,
463
,
463
,
463
,
463
,
672
,
1275
,
1274
,
660
,
1007
,
463
,
463
,
463
,
463
,
463
,
731
,
983
,
988
,
726
,
801
,
80
,
463
,
463
,
24
,
678
,
881
,
669
,
1225
,
1224
,
1285
,
802
,
463
,
463
,
204
,
204
,
204
,
204
,
204
,
930
,
986
,
730
,
328
,
1212
,
483
,
1209
,
483
,
706
,
755
,
681
,
682
,
982
,
984
,
1371
,
976
,
987
,
204
,
985
,
1364
,
204
,
251
,
683
,
684
,
685
,
686
,
687
,
688
,
727
,
963
,
700
,
677
,
252
,
1073
,
204
,
913
,
497
,
1370
,
204
,
971
,
923
,
922
,
82
,
964
,
689
,
690
,
676
,
666
,
330
,
283
,
282
,
285
,
485
,
330
,
1030
,
1219
,
608
,
455
,
1022
,
605
,
1341
,
495
,
286
,
287
,
288
,
664
,
436
,
659
,
284
,
289
,
454
,
771
,
960
,
82
,
486
,
589
,
1340
,
1274
,
766
,
1020
,
1014
,
1000
,
774
,
54
,
708
,
1165
,
1164
,
780
,
1161
,
1162
,
594
,
723
,
1258
,
885
,
673
,
805
,
587
,
587
,
587
,
587
,
587
,
978
,
725
,
204
,
447
,
766
,
1284
,
699
,
1161
,
1160
,
1281
,
204
,
979
,
977
,
981
,
989
,
980
,
497
,
1010
,
248
,
249
,
587
,
204
,
483
,
51
,
204
,
204
,
938
,
483
,
82
,
790
,
483
,
242
,
1001
,
51
,
921
,
1310
,
997
,
243
,
587
,
1002
,
201
,
764
,
483
,
502
,
501
,
756
,
757
,
1155
,
554
,
610
,
609
,
58
,
920
,
1309
,
1260
,
924
,
999
,
478
,
554
,
691
,
82
,
82
,
846
,
1105
,
1117
,
814
,
1117
,
764
,
1205
,
783
,
503
,
82
,
499
,
82
,
1386
,
1027
,
1028
,
1322
,
1029
,
1247
,
1031
,
595
,
790
,
593
,
993
,
776
,
24
,
1167
,
731
,
517
,
516
,
1032
,
1033
,
697
,
1019
,
60
,
1015
,
1016
,
1386
,
1385
,
62
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
321
,
592
,
55
,
1
,
1378
,
432
,
82
,
434
,
882
,
1042
,
24
,
805
,
528
,
728
,
993
,
588
,
737
,
738
,
739
,
740
,
891
,
807
,
1344
,
1036
,
1288
,
588
,
1150
,
832
,
838
,
829
,
741
,
742
,
743
,
744
,
745
,
746
,
747
,
748
,
749
,
750
,
204
,
939
,
69
,
428
,
68
,
1333
,
837
,
836
,
1296
,
82
,
751
,
812
,
204
,
816
,
817
,
82
,
790
,
82
,
1256
,
833
,
1245
,
1045
,
330
,
849
,
1024
,
1059
,
1041
,
852
,
1157
,
958
,
58
,
204
,
204
,
54
,
789
,
204
,
82
,
1163
,
1071
,
950
,
330
,
1338
,
1021
,
616
,
614
,
615
,
613
,
618
,
1070
,
617
,
854
,
855
,
856
,
857
,
1003
,
818
,
874
,
1117
,
54
,
947
,
612
,
215
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
938
,
813
,
204
,
593
,
204
,
204
,
865
,
866
,
867
,
790
,
323
,
804
,
1069
,
604
,
877
,
500
,
330
,
330
,
1044
,
72
,
330
,
330
,
330
,
330
,
587
,
330
,
593
,
596
,
587
,
702
,
1081
,
1062
,
1061
,
82
,
82
,
887
,
471
,
1116
,
1110
,
1119
,
938
,
670
,
767
,
768
,
247
,
330
,
54
,
463
,
775
,
463
,
472
,
976
,
217
,
1086
,
727
,
1099
,
536
,
463
,
1098
,
463
,
870
,
871
,
938
,
949
,
860
,
861
,
862
,
1343
,
463
,
1197
,
919
,
1003
,
329
,
710
,
1122
,
1080
,
703
,
82
,
463
,
489
,
483
,
1318
,
782
,
946
,
784
,
785
,
1241
,
1232
,
853
,
727
,
1308
,
1121
,
1259
,
506
,
959
,
563
,
330
,
779
,
268
,
718
,
795
,
798
,
799
,
800
,
796
,
506
,
797
,
801
,
882
,
1217
,
82
,
281
,
82
,
82
,
278
,
1079
,
1135
,
280
,
1142
,
1126
,
884
,
873
,
730
,
1146
,
1121
,
1122
,
1127
,
1006
,
869
,
904
,
279
,
709
,
968
,
510
,
266
,
258
,
442
,
586
,
444
,
579
,
915
,
864
,
54
,
916
,
863
,
663
,
876
,
517
,
516
,
526
,
796
,
1141
,
794
,
793
,
451
,
1133
,
1129
,
1149
,
585
,
1104
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
927
,
204
,
453
,
1076
,
1148
,
1153
,
1144
,
1216
,
758
,
82
,
929
,
1360
,
528
,
1356
,
1148
,
1124
,
928
,
1105
,
328
,
1033
,
674
,
1319
,
713
,
26
,
59
,
1166
,
1167
,
253
,
773
,
773
,
19
,
477
,
204
,
204
,
204
,
204
,
204
,
980
,
978
,
1126
,
970
,
18
,
82
,
204
,
773
,
1154
,
1155
,
17
,
20
,
82
,
204
,
714
,
981
,
979
,
204
,
977
,
982
,
204
,
799
,
800
,
976
,
16
,
15
,
14
,
443
,
30
,
82
,
21
,
13
,
204
,
12
,
204
,
1347
,
330
,
1340
,
204
,
965
,
251
,
252
,
605
,
1067
,
11
,
10
,
9
,
8
,
7
,
6
,
5
,
4
,
244
,
260
,
911
,
497
,
1346
,
921
,
920
,
485
,
707
,
1024
,
954
,
82
,
1179
,
23
,
2
,
0
,
330
,
1187
,
832
,
0
,
832
,
0
,
1203
,
608
,
455
,
1016
,
766
,
994
,
495
,
486
,
1317
,
966
,
0
,
1189
,
0
,
1181
,
0
,
0
,
1184
,
330
,
0
,
0
,
967
,
1316
,
1254
,
588
,
588
,
588
,
588
,
588
,
1004
,
731
,
0
,
972
,
973
,
0
,
1196
,
588
,
588
,
588
,
588
,
588
,
983
,
972
,
973
,
971
,
975
,
995
,
974
,
1014
,
805
,
1008
,
0
,
1188
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
587
,
990
,
996
,
1242
,
883
,
673
,
991
,
588
,
929
,
930
,
931
,
807
,
0
,
996
,
0
,
0
,
0
,
0
,
1220
,
588
,
976
,
922
,
803
,
248
,
249
,
497
,
919
,
1013
,
82
,
82
,
242
,
0
,
0
,
0
,
0
,
0
,
0
,
1229
,
0
,
256
,
82
,
82
,
1290
,
243
,
918
,
763
,
765
,
58
,
1289
,
1244
,
1023
,
1230
,
581
,
0
,
590
,
0
,
0
,
0
,
82
,
0
,
0
,
993
,
1025
,
1026
,
1027
,
478
,
1009
,
1010
,
1362
,
1361
,
62
,
1239
,
1079
,
330
,
0
,
330
,
0
,
0
,
0
,
0
,
0
,
781
,
691
,
499
,
1362
,
82
,
1298
,
587
,
587
,
587
,
587
,
0
,
0
,
0
,
330
,
1010
,
0
,
0
,
82
,
82
,
82
,
587
,
1231
,
1030
,
697
,
60
,
592
,
55
,
937
,
204
,
1
,
0
,
0
,
0
,
0
,
0
,
707
,
0
,
0
,
0
,
0
,
1354
,
587
,
880
,
330
,
1036
,
889
,
1320
,
82
,
1268
,
587
,
0
,
0
,
0
,
0
,
1255
,
0
,
0
,
0
,
1249
,
330
,
463
,
330
,
1140
,
952
,
1053
,
1039
,
836
,
827
,
69
,
428
,
1251
,
0
,
463
,
0
,
1256
,
0
,
0
,
0
,
0
,
0
,
68
,
1309
,
835
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
0
,
0
,
0
,
1193
,
1194
,
0
,
1195
,
0
,
0
,
1197
,
330
,
1064
,
834
,
1276
,
1021
,
1022
,
463
,
330
,
330
,
1229
,
0
,
1199
,
1261
,
0
,
0
,
0
,
82
,
82
,
463
,
82
,
847
,
1035
,
1018
,
850
,
1147
,
1075
,
1314
,
82
,
82
,
1074
,
1119
,
0
,
0
,
1254
,
82
,
832
,
82
,
82
,
82
,
204
,
1106
,
1015
,
726
,
970
,
616
,
614
,
1100
,
1080
,
615
,
613
,
1275
,
0
,
82
,
763
,
765
,
0
,
1283
,
1282
,
1284
,
1285
,
1093
,
618
,
617
,
1109
,
710
,
612
,
727
,
1063
,
215
,
1092
,
1286
,
0
,
0
,
1277
,
1287
,
0
,
1293
,
0
,
82
,
783
,
323
,
82
,
802
,
604
,
506
,
1111
,
875
,
330
,
500
,
72
,
0
,
0
,
0
,
611
,
1044
,
832
,
0
,
0
,
0
,
0
,
1056
,
1125
,
1055
,
885
,
82
,
471
,
82
,
82
,
472
,
1116
,
1306
,
0
,
0
,
0
,
667
,
668
,
1302
,
1242
,
1303
,
321
,
217
,
536
,
256
,
917
,
997
,
329
,
1132
,
1110
,
1112
,
51
,
0
,
0
,
675
,
0
,
0
,
1119
,
0
,
0
,
0
,
773
,
703
,
1138
,
1131
,
489
,
1288
,
1139
,
1243
,
953
,
563
,
777
,
1323
,
0
,
0
,
1120
,
1331
,
51
,
82
,
0
,
1330
,
0
,
268
,
718
,
1143
,
281
,
204
,
1134
,
278
,
280
,
758
,
279
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1324
,
0
,
0
,
709
,
962
,
82
,
1144
,
1145
,
510
,
266
,
258
,
772
,
772
,
0
,
695
,
0
,
0
,
1348
,
0
,
0
,
0
,
0
,
0
,
586
,
579
,
1156
,
1157
,
772
,
82
,
204
,
794
,
792
,
791
,
0
,
0
,
0
,
0
,
0
,
0
,
82
,
0
,
330
,
0
,
328
,
1123
,
82
,
204
,
1119
,
585
,
1077
,
1078
,
1070
,
82
,
1353
,
0
,
0
,
715
,
976
,
0
,
0
,
204
,
0
,
0
,
1200
,
1295
,
204
,
830
,
713
,
26
,
59
,
253
,
19
,
1094
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
82
,
1360
,
0
,
1095
,
18
,
1097
,
1098
,
17
,
330
,
20
,
1177
,
935
,
16
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1169
,
15
,
936
,
1179
,
14
,
443
,
30
,
21
,
330
,
940
,
542
,
543
,
544
,
545
,
546
,
547
,
548
,
549
,
82
,
1369
,
941
,
942
,
13
,
1171
,
12
,
11
,
1174
,
10
,
951
,
9
,
1368
,
0
,
0
,
0
,
0
,
0
,
1040
,
330
,
0
,
330
,
8
,
1178
,
7
,
957
,
1186
,
958
,
959
,
960
,
961
,
6
,
1372
,
1383
,
0
,
0
,
0
,
0
,
0
,
0
,
1394
,
0
,
5
,
4
,
1204
,
244
,
588
,
23
,
2
,
970
,
0
,
0
,
0
,
487
,
491
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1214
,
0
,
0
,
0
,
0
,
985
,
0
,
82
,
588
,
0
,
0
,
330
,
0
,
0
,
0
,
0
,
509
,
0
,
1213
,
0
,
0
,
1183
,
1184
,
0
,
1185
,
82
,
0
,
1187
,
0
,
0
,
0
,
0
,
790
,
516
,
526
,
527
,
519
,
520
,
0
,
1189
,
1199
,
330
,
0
,
330
,
0
,
0
,
1004
,
0
,
521
,
522
,
523
,
524
,
525
,
518
,
330
,
817
,
528
,
488
,
0
,
0
,
0
,
0
,
330
,
726
,
488
,
82
,
82
,
82
,
0
,
0
,
1215
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1223
,
0
,
0
,
0
,
0
,
0
,
0
,
553
,
0
,
0
,
0
,
937
,
0
,
0
,
589
,
1219
,
1220
,
1221
,
1239
,
0
,
0
,
587
,
1240
,
0
,
330
,
938
,
564
,
0
,
0
,
0
,
0
,
0
,
942
,
943
,
330
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
944
,
1235
,
1236
,
1237
,
0
,
202
,
0
,
773
,
230
,
957
,
525
,
518
,
202
,
1226
,
528
,
230
,
0
,
0
,
0
,
1181
,
1123
,
1125
,
0
,
0
,
963
,
0
,
964
,
965
,
966
,
967
,
82
,
82
,
0
,
82
,
0
,
0
,
201
,
0
,
82
,
463
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
82
,
82
,
82
,
204
,
1109
,
1263
,
82
,
1264
,
1265
,
1266
,
0
,
0
,
0
,
257
,
1125
,
879
,
202
,
0
,
991
,
463
,
257
,
1255
,
0
,
202
,
0
,
0
,
0
,
1257
,
202
,
1273
,
0
,
202
,
0
,
202
,
903
,
904
,
0
,
330
,
905
,
330
,
202
,
0
,
82
,
1267
,
0
,
0
,
0
,
321
,
0
,
1286
,
1152
,
0
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
1238
,
0
,
432
,
0
,
434
,
487
,
491
,
1262
,
1110
,
0
,
522
,
523
,
524
,
525
,
518
,
907
,
0
,
528
,
0
,
24
,
1233
,
1258
,
1235
,
0
,
1282
,
0
,
1283
,
0
,
1299
,
0
,
25
,
52
,
27
,
28
,
0
,
0
,
0
,
0
,
0
,
0
,
1079
,
0
,
509
,
0
,
0
,
1109
,
82
,
0
,
772
,
1307
,
0
,
0
,
0
,
0
,
1120
,
1180
,
483
,
1278
,
43
,
0
,
1306
,
0
,
0
,
0
,
1245
,
0
,
0
,
1300
,
0
,
0
,
0
,
0
,
0
,
29
,
48
,
49
,
0
,
0
,
1182
,
0
,
0
,
0
,
830
,
1048
,
0
,
1287
,
0
,
0
,
0
,
1324
,
0
,
0
,
0
,
0
,
0
,
1185
,
935
,
0
,
0
,
0
,
0
,
0
,
82
,
0
,
0
,
1329
,
0
,
553
,
970
,
1110
,
0
,
0
,
330
,
38
,
0
,
0
,
0
,
54
,
0
,
0
,
0
,
51
,
0
,
204
,
0
,
0
,
564
,
330
,
0
,
0
,
0
,
1307
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
0
,
0
,
1046
,
82
,
0
,
1336
,
0
,
1247
,
1248
,
0
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
1120
,
1249
,
1250
,
1251
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
728
,
51
,
0
,
737
,
738
,
739
,
740
,
741
,
742
,
743
,
0
,
1344
,
1345
,
1038
,
82
,
0
,
0
,
0
,
0
,
0
,
744
,
745
,
746
,
747
,
748
,
749
,
750
,
751
,
0
,
0
,
0
,
1348
,
0
,
0
,
0
,
0
,
0
,
1359
,
0
,
202
,
0
,
0
,
202
,
0
,
202
,
773
,
0
,
696
,
0
,
0
,
0
,
202
,
0
,
0
,
1370
,
1034
,
330
,
202
,
330
,
0
,
202
,
1085
,
0
,
0
,
0
,
0
,
0
,
202
,
31
,
32
,
0
,
0
,
0
,
442
,
202
,
444
,
795
,
798
,
799
,
800
,
34
,
33
,
36
,
0
,
50
,
0
,
330
,
0
,
0
,
0
,
796
,
451
,
797
,
801
,
0
,
0
,
1121
,
1122
,
453
,
1047
,
716
,
717
,
0
,
0
,
1244
,
0
,
0
,
0
,
0
,
0
,
1073
,
0
,
330
,
0
,
1052
,
1049
,
1042
,
1050
,
1045
,
0
,
0
,
0
,
0
,
0
,
0
,
37
,
44
,
45
,
0
,
0
,
1048
,
0
,
1043
,
1044
,
0
,
1357
,
0
,
1180
,
0
,
0
,
46
,
47
,
35
,
0
,
330
,
330
,
330
,
0
,
0
,
0
,
0
,
0
,
1096
,
0
,
1182
,
330
,
1051
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
39
,
40
,
0
,
41
,
42
,
0
,
0
,
1054
,
0
,
0
,
1191
,
1192
,
1193
,
0
,
1046
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1381
,
1196
,
0
,
0
,
0
,
0
,
0
,
0
,
330
,
0
,
0
,
0
,
0
,
0
,
553
,
0
,
0
,
769
,
770
,
0
,
0
,
0
,
0
,
0
,
1206
,
1207
,
1208
,
0
,
1211
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1213
,
483
,
0
,
0
,
772
,
0
,
0
,
1113
,
1115
,
0
,
0
,
0
,
0
,
0
,
0
,
1279
,
1280
,
0
,
1281
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1222
,
0
,
0
,
830
,
0
,
830
,
0
,
1244
,
0
,
1244
,
1244
,
1244
,
0
,
0
,
0
,
1152
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1115
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
202
,
202
,
0
,
0
,
0
,
0
,
202
,
202
,
202
,
0
,
0
,
0
,
0
,
0
,
826
,
1075
,
0
,
1244
,
517
,
516
,
526
,
527
,
1363
,
696
,
330
,
0
,
330
,
1142
,
1047
,
0
,
581
,
0
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
590
,
1052
,
1049
,
1042
,
1050
,
1045
,
0
,
0
,
0
,
1043
,
528
,
53
,
1190
,
0
,
0
,
0
,
0
,
0
,
0
,
1192
,
1044
,
0
,
0
,
0
,
716
,
717
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1051
,
0
,
0
,
0
,
0
,
0
,
1041
,
1201
,
1202
,
1203
,
1337
,
1206
,
0
,
0
,
1209
,
0
,
1212
,
1170
,
0
,
1073
,
1252
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1172
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1222
,
1223
,
1224
,
0
,
1227
,
0
,
0
,
0
,
1175
,
0
,
0
,
0
,
0
,
0
,
0
,
330
,
0
,
0
,
773
,
0
,
0
,
1355
,
931
,
932
,
933
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
553
,
0
,
0
,
0
,
0
,
0
,
1238
,
0
,
0
,
0
,
0
,
0
,
0
,
769
,
770
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1363
,
1210
,
483
,
0
,
914
,
915
,
1291
,
1292
,
1293
,
1294
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
491
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
1303
,
1304
,
1305
,
0
,
0
,
0
,
0
,
0
,
1244
,
1214
,
0
,
0
,
0
,
0
,
0
,
830
,
0
,
0
,
0
,
772
,
202
,
202
,
0
,
202
,
202
,
0
,
1176
,
0
,
202
,
1207
,
483
,
202
,
0
,
611
,
0
,
202
,
0
,
0
,
202
,
824
,
0
,
0
,
679
,
0
,
0
,
679
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
0
,
667
,
668
,
0
,
0
,
0
,
321
,
330
,
1325
,
675
,
522
,
523
,
524
,
525
,
518
,
1183
,
0
,
528
,
0
,
0
,
0
,
1038
,
830
,
1330
,
0
,
1228
,
0
,
0
,
0
,
0
,
0
,
0
,
1186
,
0
,
0
,
0
,
0
,
202
,
1272
,
0
,
0
,
0
,
0
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
941
,
517
,
516
,
526
,
527
,
519
,
520
,
0
,
0
,
0
,
1337
,
0
,
330
,
330
,
330
,
695
,
0
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
202
,
0
,
1076
,
0
,
0
,
0
,
0
,
202
,
0
,
0
,
0
,
962
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
679
,
0
,
0
,
0
,
0
,
0
,
0
,
679
,
0
,
0
,
0
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
715
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
525
,
518
,
0
,
0
,
528
,
1311
,
1312
,
1313
,
1314
,
1315
,
524
,
525
,
518
,
0
,
0
,
528
,
1371
,
1372
,
1259
,
1260
,
1316
,
1317
,
1318
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1261
,
0
,
0
,
0
,
0
,
1228
,
0
,
1228
,
1228
,
0
,
0
,
0
,
1211
,
0
,
0
,
1327
,
1328
,
1329
,
0
,
1228
,
0
,
912
,
913
,
1142
,
491
,
0
,
257
,
0
,
0
,
257
,
0
,
0
,
0
,
0
,
257
,
257
,
0
,
0
,
774
,
0
,
0
,
257
,
257
,
0
,
0
,
773
,
773
,
257
,
0
,
774
,
257
,
0
,
0
,
0
,
774
,
0
,
0
,
0
,
0
,
1228
,
0
,
773
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
257
,
257
,
257
,
257
,
0
,
0
,
0
,
257
,
257
,
257
,
257
,
0
,
202
,
0
,
0
,
202
,
1349
,
0
,
0
,
0
,
0
,
1354
,
0
,
202
,
812
,
0
,
0
,
0
,
0
,
0
,
202
,
810
,
0
,
0
,
202
,
0
,
0
,
202
,
202
,
0
,
1083
,
1084
,
0
,
0
,
1204
,
202
,
788
,
0
,
0
,
1313
,
0
,
0
,
0
,
0
,
0
,
483
,
0
,
0
,
0
,
0
,
0
,
1361
,
0
,
1100
,
1101
,
0
,
0
,
0
,
0
,
815
,
0
,
0
,
939
,
0
,
0
,
1102
,
1103
,
0
,
1105
,
1106
,
1107
,
1108
,
517
,
516
,
526
,
0
,
24
,
25
,
52
,
27
,
28
,
0
,
772
,
0
,
0
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
1072
,
1331
,
0
,
956
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
528
,
0
,
0
,
0
,
0
,
0
,
517
,
516
,
526
,
43
,
0
,
0
,
0
,
0
,
29
,
48
,
49
,
0
,
0
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
1395
,
0
,
1339
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
1396
,
528
,
0
,
1208
,
0
,
0
,
0
,
0
,
0
,
0
,
525
,
518
,
0
,
213
,
528
,
38
,
0
,
0
,
202
,
54
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1205
,
0
,
0
,
1228
,
0
,
0
,
0
,
0
,
202
,
202
,
0
,
202
,
202
,
0
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
877
,
0
,
0
,
0
,
0
,
226
,
0
,
0
,
1112
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
901
,
902
,
0
,
0
,
903
,
0
,
0
,
202
,
0
,
0
,
202
,
0
,
911
,
912
,
0
,
0
,
0
,
0
,
0
,
909
,
910
,
0
,
0
,
0
,
0
,
0
,
0
,
679
,
0
,
0
,
679
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
905
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
257
,
0
,
0
,
0
,
0
,
1143
,
0
,
257
,
0
,
0
,
0
,
0
,
0
,
0
,
633
,
0
,
0
,
31
,
32
,
34
,
33
,
36
,
0
,
50
,
0
,
208
,
0
,
0
,
0
,
0
,
0
,
0
,
210
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
216
,
212
,
0
,
0
,
37
,
44
,
45
,
0
,
1066
,
46
,
47
,
35
,
0
,
0
,
257
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
39
,
40
,
0
,
41
,
42
,
0
,
257
,
0
,
214
,
1194
,
483
,
218
,
0
,
0
,
225
,
0
,
0
,
0
,
0
,
773
,
202
,
202
,
202
,
202
,
202
,
0
,
0
,
0
,
621
,
0
,
0
,
1102
,
984
,
0
,
0
,
202
,
0
,
0
,
0
,
810
,
209
,
0
,
0
,
202
,
0
,
0
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
1198
,
528
,
0
,
0
,
0
,
634
,
0
,
219
,
211
,
1133
,
220
,
221
,
222
,
224
,
223
,
229
,
0
,
0
,
0
,
0
,
0
,
228
,
227
,
0
,
0
,
0
,
53
,
647
,
648
,
649
,
650
,
651
,
652
,
653
,
0
,
654
,
655
,
656
,
657
,
658
,
635
,
636
,
637
,
638
,
619
,
620
,
0
,
0
,
622
,
0
,
623
,
624
,
625
,
626
,
627
,
628
,
629
,
630
,
631
,
632
,
639
,
640
,
641
,
642
,
643
,
644
,
645
,
646
,
0
,
0
,
0
,
0
,
0
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
202
,
528
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1195
,
257
,
0
,
0
,
0
,
1069
,
0
,
0
,
0
,
0
,
0
,
0
,
257
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
679
,
1202
,
0
,
0
,
0
,
0
,
0
,
0
,
553
,
0
,
0
,
0
,
0
,
0
,
0
,
773
,
1215
,
0
,
512
,
1216
,
515
,
0
,
1218
,
0
,
0
,
0
,
529
,
530
,
531
,
532
,
533
,
534
,
535
,
0
,
513
,
514
,
511
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
1166
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
0
,
934
,
0
,
0
,
0
,
0
,
202
,
0
,
81
,
0
,
0
,
0
,
0
,
1173
,
0
,
202
,
0
,
96
,
0
,
0
,
1176
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
517
,
516
,
526
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
633
,
0
,
528
,
0
,
0
,
773
,
0
,
0
,
0
,
0
,
0
,
1357
,
528
,
1191
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
1323
,
553
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
810
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
0
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
0
,
0
,
0
,
257
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
0
,
257
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
774
,
202
,
202
,
202
,
202
,
202
,
0
,
0
,
1082
,
0
,
0
,
0
,
0
,
0
,
773
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
990
,
0
,
0
,
202
,
0
,
0
,
0
,
812
,
0
,
0
,
0
,
202
,
0
,
621
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
1218
,
528
,
0
,
0
,
0
,
0
,
0
,
553
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1231
,
0
,
0
,
1232
,
0
,
0
,
1234
,
634
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1263
,
1264
,
0
,
1265
,
1266
,
0
,
1267
,
1268
,
0
,
1269
,
1270
,
1271
,
647
,
648
,
649
,
650
,
651
,
652
,
653
,
0
,
654
,
655
,
656
,
657
,
658
,
635
,
636
,
637
,
638
,
619
,
620
,
0
,
0
,
622
,
0
,
623
,
624
,
625
,
626
,
627
,
628
,
629
,
630
,
631
,
632
,
639
,
640
,
641
,
642
,
643
,
644
,
645
,
646
,
0
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
257
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
512
,
0
,
515
,
257
,
0
,
0
,
0
,
0
,
529
,
530
,
531
,
532
,
533
,
534
,
535
,
679
,
513
,
514
,
511
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
774
,
528
,
138
,
0
,
936
,
0
,
0
,
0
,
0
,
0
,
0
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1347
,
553
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
0
,
1387
,
0
,
0
,
0
,
0
,
517
,
516
,
526
,
527
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
518
,
0
,
0
,
528
,
202
,
0
,
0
,
0
,
0
,
0
,
0
,
202
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
202
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
774
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
416
,
407
,
1333
,
378
,
419
,
356
,
370
,
427
,
371
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
812
,
416
,
372
,
400
,
342
,
386
,
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
831
,
832
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
1005
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
410
,
358
,
366
,
99
,
364
,
151
,
140
,
173
,
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
416
,
407
,
0
,
378
,
419
,
356
,
370
,
427
,
371
,
372
,
400
,
407
,
0
,
378
,
419
,
356
,
370
,
427
,
371
,
372
,
400
,
342
,
386
,
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
342
,
386
,
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
83
1
,
832
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
83
3
,
834
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
1011
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
774
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
360
,
202
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
144
,
0
,
160
,
110
,
118
,
84
,
414
,
374
,
373
,
417
,
144
,
0
,
160
,
110
,
118
,
84
,
...
@@ -1008,8 +1000,8 @@ var yyAct = [...]int{
...
@@ -1008,8 +1000,8 @@ var yyAct = [...]int{
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
54
,
0
,
0
,
81
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
833
,
834
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
...
@@ -1034,11 +1026,11 @@ var yyAct = [...]int{
...
@@ -1034,11 +1026,11 @@ var yyAct = [...]int{
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
0
,
420
,
369
,
398
,
421
,
54
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
1072
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
335
,
108
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
...
@@ -1060,11 +1052,11 @@ var yyAct = [...]int{
...
@@ -1060,11 +1052,11 @@ var yyAct = [...]int{
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
262
,
0
,
0
,
0
,
0
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
724
,
0
,
360
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
1078
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
144
,
0
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
144
,
0
,
...
@@ -1086,11 +1078,11 @@ var yyAct = [...]int{
...
@@ -1086,11 +1078,11 @@ var yyAct = [...]int{
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
262
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
0
,
0
,
724
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
0
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
0
,
346
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
414
,
374
,
373
,
417
,
144
,
0
,
160
,
110
,
376
,
205
,
414
,
374
,
373
,
417
,
144
,
0
,
160
,
110
,
...
@@ -1112,7 +1104,7 @@ var yyAct = [...]int{
...
@@ -1112,7 +1104,7 @@ var yyAct = [...]int{
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
262
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
...
@@ -1137,7 +1129,7 @@ var yyAct = [...]int{
...
@@ -1137,7 +1129,7 @@ var yyAct = [...]int{
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
262
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
...
@@ -1150,11 +1142,11 @@ var yyAct = [...]int{
...
@@ -1150,11 +1142,11 @@ var yyAct = [...]int{
140
,
173
,
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
140
,
173
,
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
333
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
334
,
332
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
...
@@ -1163,7 +1155,7 @@ var yyAct = [...]int{
...
@@ -1163,7 +1155,7 @@ var yyAct = [...]int{
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
0
,
359
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
203
,
0
,
0
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
...
@@ -1176,11 +1168,11 @@ var yyAct = [...]int{
...
@@ -1176,11 +1168,11 @@ var yyAct = [...]int{
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
333
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
184
,
185
,
0
,
0
,
95
,
107
,
334
,
332
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
120
,
187
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
120
,
187
,
...
@@ -1189,7 +1181,7 @@ var yyAct = [...]int{
...
@@ -1189,7 +1181,7 @@ var yyAct = [...]int{
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
337
,
365
,
338
,
357
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
418
,
119
,
425
,
121
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
382
,
411
,
384
,
405
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
398
,
421
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
399
,
336
,
395
,
0
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
385
,
402
,
...
@@ -1200,13 +1192,13 @@ var yyAct = [...]int{
...
@@ -1200,13 +1192,13 @@ var yyAct = [...]int{
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
410
,
358
,
366
,
99
,
364
,
151
,
140
,
173
,
391
,
141
,
410
,
358
,
366
,
99
,
364
,
151
,
140
,
173
,
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
598
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
333
,
177
,
135
,
164
,
170
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
334
,
332
,
113
,
155
,
116
,
123
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
120
,
187
,
146
,
105
,
352
,
0
,
408
,
390
,
83
,
0
,
120
,
187
,
146
,
105
,
...
@@ -1226,115 +1218,67 @@ var yyAct = [...]int{
...
@@ -1226,115 +1218,67 @@ var yyAct = [...]int{
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
410
,
358
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
410
,
358
,
366
,
99
,
364
,
151
,
140
,
173
,
391
,
141
,
150
,
122
,
366
,
99
,
364
,
151
,
140
,
173
,
391
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
324
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
598
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
333
,
177
,
135
,
164
,
170
,
129
,
126
,
91
,
178
,
89
,
333
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
112
,
132
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
94
,
354
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
334
,
332
,
327
,
326
,
116
,
123
,
147
,
188
,
95
,
107
,
334
,
332
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
139
,
152
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
388
,
422
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
138
,
408
,
390
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
416
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
407
,
0
,
378
,
419
,
356
,
370
,
427
,
371
,
372
,
400
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
342
,
386
,
138
,
368
,
0
,
359
,
337
,
365
,
338
,
357
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
380
,
103
,
383
,
355
,
409
,
389
,
418
,
119
,
425
,
121
,
0
,
0
,
0
,
822
,
0
,
54
,
0
,
0
,
262
,
283
,
394
,
0
,
157
,
130
,
0
,
0
,
382
,
411
,
384
,
405
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
377
,
401
,
347
,
393
,
420
,
369
,
398
,
421
,
0
,
0
,
290
,
291
,
823
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
396
,
415
,
367
,
397
,
399
,
336
,
395
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
340
,
343
,
426
,
413
,
362
,
363
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
0
,
0
,
0
,
381
,
385
,
402
,
375
,
0
,
0
,
0
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
360
,
0
,
392
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
344
,
341
,
0
,
0
,
379
,
0
,
0
,
0
,
346
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
0
,
361
,
403
,
0
,
335
,
108
,
406
,
412
,
376
,
205
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
414
,
374
,
373
,
417
,
144
,
0
,
160
,
110
,
118
,
84
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
90
,
0
,
109
,
136
,
149
,
153
,
410
,
358
,
366
,
99
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
364
,
151
,
140
,
173
,
391
,
141
,
150
,
122
,
165
,
145
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
324
,
97
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
89
,
333
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
131
,
133
,
0
,
339
,
0
,
158
,
175
,
190
,
94
,
354
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
334
,
332
,
327
,
326
,
116
,
123
,
147
,
188
,
139
,
152
,
297
,
298
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
98
,
174
,
156
,
350
,
353
,
348
,
349
,
387
,
388
,
422
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
760
,
0
,
264
,
423
,
424
,
404
,
345
,
0
,
351
,
352
,
0
,
408
,
390
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
0
,
824
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
825
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
255
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
483
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
255
,
0
,
0
,
0
,
315
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
1
65
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
1
41
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
1
71
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
1
86
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
1
12
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
19
0
,
1
42
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
1
39
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
1
23
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
31
0
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
31
1
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
2
4
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
0
,
2
99
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
105
,
176
,
138
,
0
,
0
,
76
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
...
@@ -1342,7 +1286,7 @@ var yyAct = [...]int{
...
@@ -1342,7 +1286,7 @@ var yyAct = [...]int{
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
273
,
274
,
255
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
...
@@ -1362,7 +1306,7 @@ var yyAct = [...]int{
...
@@ -1362,7 +1306,7 @@ var yyAct = [...]int{
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
0
,
0
,
0
,
54
,
0
,
483
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
...
@@ -1382,62 +1326,229 @@ var yyAct = [...]int{
...
@@ -1382,62 +1326,229 @@ var yyAct = [...]int{
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
138
,
301
,
83
,
0
,
120
,
187
,
146
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
304
,
105
,
176
,
138
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
255
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
24
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
0
,
0
,
264
,
0
,
0
,
0
,
103
,
0
,
261
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
259
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
138
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
0
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
1388
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
138
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
0
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
0
,
505
,
0
,
0
,
0
,
0
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
507
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
502
,
501
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
0
,
0
,
0
,
315
,
0
,
0
,
0
,
0
,
503
,
0
,
0
,
0
,
0
,
0
,
0
,
275
,
0
,
0
,
270
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
144
,
0
,
160
,
110
,
118
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
99
,
0
,
151
,
140
,
173
,
1364
,
141
,
150
,
122
,
165
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
152
,
98
,
174
,
156
,
305
,
314
,
311
,
312
,
309
,
310
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
308
,
307
,
306
,
316
,
297
,
298
,
299
,
300
,
302
,
138
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
301
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
119
,
304
,
121
,
0
,
0
,
157
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
130
,
0
,
0
,
0
,
0
,
295
,
296
,
0
,
0
,
0
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
262
,
283
,
282
,
285
,
286
,
287
,
288
,
0
,
0
,
96
,
284
,
289
,
290
,
291
,
0
,
0
,
0
,
0
,
276
,
0
,
303
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
273
,
274
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
315
,
0
,
275
,
0
,
0
,
270
,
96
,
0
,
0
,
0
,
0
,
0
,
74
,
0
,
0
,
0
,
271
,
272
,
277
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
313
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
0
,
0
,
0
,
0
,
0
,
108
,
77
,
78
,
0
,
73
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
0
,
0
,
0
,
79
,
144
,
0
,
160
,
110
,
118
,
84
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
172
,
75
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
305
,
314
,
311
,
312
,
309
,
310
,
308
,
307
,
306
,
316
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
297
,
298
,
299
,
300
,
302
,
0
,
301
,
83
,
0
,
120
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
187
,
146
,
105
,
176
,
138
,
0
,
0
,
0
,
505
,
0
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
0
,
0
,
0
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
98
,
174
,
156
,
0
,
76
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
811
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
813
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
24
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
24
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
507
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
502
,
501
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
503
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
...
@@ -1453,21 +1564,21 @@ var yyAct = [...]int{
...
@@ -1453,21 +1564,21 @@ var yyAct = [...]int{
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
811
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
813
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
74
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
77
,
78
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
73
,
0
,
0
,
0
,
79
,
144
,
0
,
160
,
110
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
809
,
150
,
122
,
165
,
145
,
172
,
75
,
180
,
162
,
179
,
186
,
85
,
161
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
...
@@ -1475,12 +1586,12 @@ var yyAct = [...]int{
...
@@ -1475,12 +1586,12 @@ var yyAct = [...]int{
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
76
,
0
,
0
,
0
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
809
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
811
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
711
,
0
,
0
,
712
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
...
@@ -1498,13 +1609,13 @@ var yyAct = [...]int{
...
@@ -1498,13 +1609,13 @@ var yyAct = [...]int{
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
24
,
0
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
138
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
0
,
607
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
606
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
...
@@ -1522,321 +1633,274 @@ var yyAct = [...]int{
...
@@ -1522,321 +1633,274 @@ var yyAct = [...]int{
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
24
,
0
,
0
,
0
,
0
,
0
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
83
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
0
,
0
,
0
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
203
,
0
,
0
,
54
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
809
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
811
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
813
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
807
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
711
,
0
,
0
,
712
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
262
,
0
,
776
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
103
,
0
,
607
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
606
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
262
,
0
,
772
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
54
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
507
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
811
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
580
,
103
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
507
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
319
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
83
,
0
,
120
,
187
,
146
,
105
,
176
,
580
,
103
,
0
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
319
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
200
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
200
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
81
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
203
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
262
,
0
,
0
,
0
,
0
,
144
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
109
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
136
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
138
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
103
,
120
,
187
,
146
,
105
,
176
,
119
,
0
,
121
,
0
,
0
,
157
,
130
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
262
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
96
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
108
,
0
,
0
,
0
,
205
,
0
,
0
,
0
,
0
,
144
,
0
,
1
44
,
0
,
160
,
110
,
118
,
84
,
90
,
0
,
10
9
,
0
,
1
60
,
110
,
118
,
84
,
90
,
0
,
109
,
136
,
14
9
,
1
36
,
149
,
153
,
0
,
0
,
0
,
99
,
0
,
151
,
14
0
,
1
53
,
0
,
0
,
0
,
99
,
0
,
151
,
140
,
173
,
0
,
1
73
,
0
,
141
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
1
41
,
150
,
122
,
165
,
145
,
172
,
206
,
180
,
162
,
179
,
1
62
,
179
,
186
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
1
86
,
85
,
161
,
171
,
97
,
154
,
87
,
169
,
159
,
128
,
1
59
,
128
,
114
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
1
14
,
115
,
86
,
0
,
148
,
102
,
106
,
101
,
137
,
166
,
1
37
,
166
,
167
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
1
67
,
100
,
189
,
91
,
178
,
89
,
92
,
177
,
135
,
164
,
1
35
,
164
,
170
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
1
70
,
129
,
126
,
88
,
168
,
127
,
125
,
117
,
104
,
111
,
1
04
,
111
,
142
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
1
42
,
124
,
143
,
112
,
132
,
131
,
133
,
0
,
0
,
0
,
0
,
0
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
158
,
175
,
190
,
94
,
0
,
163
,
181
,
182
,
183
,
184
,
18
3
,
184
,
185
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
18
5
,
0
,
0
,
95
,
107
,
134
,
93
,
113
,
155
,
116
,
1
55
,
116
,
123
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
1
23
,
147
,
188
,
139
,
152
,
98
,
174
,
156
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
0
,
120
,
0
,
0
,
0
,
0
,
0
,
83
,
0
,
120
,
187
,
146
,
1
87
,
146
,
1
05
,
176
,
105
,
176
,
}
}
var
yyPact
=
[
...
]
int
{
var
yyPact
=
[
...
]
int
{
1
775
,
-
1000
,
-
185
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
1
523
,
-
1000
,
-
184
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
8
71
,
90
9
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
8
55
,
88
9
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
2
23
,
7486
,
60
,
96
,
-
15
,
10271
,
95
,
1790
,
10731
,
-
1000
,
2
14
,
7664
,
58
,
88
,
-
10
,
10909
,
83
,
185
,
11369
,
-
1000
,
-
7
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
76
,
-
82
,
-
2
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
94
,
-
95
,
-
1000
,
6
19
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
862
,
866
,
708
,
-
1000
,
6
73
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
843
,
850
,
683
,
8
52
,
776
,
-
1000
,
6046
,
59
,
59
,
10041
,
5066
,
-
1000
,
-
1000
,
8
37
,
769
,
-
1000
,
6224
,
57
,
57
,
10679
,
5244
,
-
1000
,
-
1000
,
20
1
,
10731
,
92
,
10731
,
-
156
,
10501
,
55
,
55
,
55
,
-
1000
,
20
9
,
11369
,
74
,
11369
,
-
151
,
11139
,
50
,
50
,
50
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
...
@@ -1848,21 +1912,21 @@ var yyPact = [...]int{
...
@@ -1848,21 +1912,21 @@ var yyPact = [...]int{
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
77
,
1
0731
,
-
1000
,
10731
,
54
,
525
,
54
,
54
,
54
,
-
1000
,
77
,
1
1369
,
-
1000
,
11369
,
48
,
505
,
48
,
48
,
48
,
1
0731
,
-
1000
,
133
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
10731
,
511
,
802
,
1
1369
,
-
1000
,
122
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
11369
,
502
,
795
,
49
,
3002
,
3002
,
3002
,
3002
,
6
,
3002
,
-
75
,
738
,
882
,
54
,
3180
,
3180
,
3180
,
3180
,
5
,
3180
,
-
73
,
721
,
864
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
3
002
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
3
180
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
443
,
806
,
6539
,
6539
,
871
,
-
1000
,
619
,
-
1000
,
-
1000
,
-
1000
,
398
,
801
,
6717
,
6717
,
855
,
-
1000
,
673
,
-
1000
,
-
1000
,
-
1000
,
800
,
-
1000
,
-
1000
,
305
,
891
,
-
1000
,
7256
,
131
,
-
1000
,
6539
,
793
,
-
1000
,
-
1000
,
249
,
870
,
-
1000
,
7434
,
120
,
-
1000
,
6717
,
2
059
,
662
,
-
1000
,
-
1000
,
662
,
-
1000
,
-
1000
,
107
,
-
1000
,
-
1000
,
2
293
,
634
,
-
1000
,
-
1000
,
634
,
-
1000
,
-
1000
,
106
,
-
1000
,
-
1000
,
7
011
,
7011
,
7011
,
7011
,
7011
,
7011
,
7011
,
7011
,
-
1000
,
-
1000
,
7
189
,
7189
,
7189
,
7189
,
7189
,
7189
,
7189
,
7189
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
6
62
,
-
1000
,
6294
,
662
,
662
,
662
,
662
,
662
,
-
1000
,
-
1000
,
6
34
,
-
1000
,
6472
,
634
,
634
,
634
,
634
,
634
,
6
62
,
662
,
662
,
6539
,
662
,
662
,
662
,
662
,
662
,
662
,
6
34
,
634
,
634
,
6717
,
634
,
634
,
634
,
634
,
634
,
634
,
6
62
,
662
,
662
,
662
,
662
,
662
,
662
,
9811
,
9114
,
10731
,
6
34
,
634
,
634
,
634
,
634
,
634
,
634
,
10449
,
9292
,
11369
,
567
,
-
1000
,
652
,
4808
,
-
127
,
-
1000
,
-
1000
,
-
1000
,
200
,
8884
,
603
,
-
1000
,
623
,
4986
,
-
91
,
-
1000
,
-
1000
,
-
1000
,
196
,
9062
,
-
1000
,
-
1000
,
-
1000
,
801
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
794
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
...
@@ -1871,125 +1935,127 @@ var yyPact = [...]int{
...
@@ -1871,125 +1935,127 @@ var yyPact = [...]int{
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
5
53
,
10731
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
5
20
,
11369
,
-
1000
,
1857
,
-
1000
,
508
,
3002
,
74
,
712
,
506
,
257
,
498
,
-
1000
,
2139
,
-
1000
,
500
,
3180
,
65
,
705
,
494
,
210
,
491
,
1
0731
,
10731
,
3002
,
656
,
70
,
10731
,
841
,
737
,
10731
,
497
,
1
1369
,
11369
,
3180
,
632
,
63
,
11369
,
819
,
720
,
11369
,
481
,
4
92
,
-
1000
,
4550
,
-
1000
,
3002
,
3002
,
3002
,
3002
,
3002
,
3002
,
4
62
,
-
1000
,
4728
,
-
1000
,
3180
,
3180
,
3180
,
3180
,
3180
,
3180
,
3
002
,
3002
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
3002
,
3002
,
3
180
,
3180
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
3180
,
3180
,
-
1000
,
8
90
,
241
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
10731
,
6539
,
-
1000
,
-
1000
,
8
67
,
245
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
11369
,
6717
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
904
,
161
,
530
,
127
,
654
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
883
,
149
,
409
,
114
,
630
,
-
1000
,
402
,
862
,
443
,
776
,
8648
,
757
,
-
1000
,
-
1000
,
10731
,
-
1000
,
307
,
843
,
398
,
769
,
8826
,
731
,
-
1000
,
-
1000
,
11369
,
-
1000
,
6
539
,
6539
,
308
,
-
1000
,
9574
,
-
1000
,
-
1000
,
3518
,
183
,
-
1000
,
6
717
,
6717
,
397
,
-
1000
,
10212
,
-
1000
,
-
1000
,
3696
,
170
,
7
011
,
336
,
246
,
7011
,
7011
,
7011
,
7011
,
7011
,
7011
,
7011
,
7
189
,
344
,
221
,
7189
,
7189
,
7189
,
7189
,
7189
,
7189
,
7189
,
7
011
,
7011
,
7011
,
7011
,
7011
,
7011
,
7011
,
7011
,
391
,
-
1000
,
7
189
,
7189
,
7189
,
7189
,
7189
,
7189
,
7189
,
7189
,
388
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
4
80
,
-
1000
,
619
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
4
26
,
-
1000
,
673
,
4
99
,
499
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
2174
,
4
27
,
427
,
130
,
130
,
130
,
130
,
130
,
130
,
130
,
2383
,
5
556
,
443
,
545
,
239
,
6294
,
6046
,
6046
,
6539
,
6539
,
10961
,
5
734
,
398
,
512
,
279
,
6472
,
6224
,
6224
,
6717
,
6717
,
9982
,
10961
,
6046
,
853
,
238
,
239
,
10961
,
-
1000
,
443
,
-
1000
,
-
1000
,
9752
,
6224
,
834
,
202
,
279
,
11599
,
-
1000
,
398
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
6
046
,
6046
,
6046
,
6046
,
22
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
6
224
,
6224
,
6224
,
6224
,
19
,
1
0731
,
-
1000
,
644
,
698
,
-
1000
,
-
1000
,
-
1000
,
849
,
8188
,
8418
,
1
1369
,
-
1000
,
629
,
707
,
-
1000
,
-
1000
,
-
1000
,
821
,
8366
,
8596
,
22
,
638
,
9114
,
10731
,
-
1000
,
-
1000
,
4292
,
652
,
-
127
,
630
,
19
,
611
,
9292
,
11369
,
-
1000
,
-
1000
,
4470
,
623
,
-
91
,
613
,
-
1000
,
-
1
01
,
-
87
,
5311
,
141
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
2744
,
-
1000
,
-
1
13
,
-
124
,
5489
,
129
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
2922
,
299
,
555
,
255
,
-
60
,
-
1000
,
-
1000
,
-
1000
,
684
,
-
1000
,
68
4
,
197
,
535
,
271
,
-
70
,
-
1000
,
-
1000
,
-
1000
,
674
,
-
1000
,
67
4
,
6
84
,
684
,
684
,
-
32
,
-
32
,
-
32
,
-
32
,
-
1000
,
-
1000
,
-
1000
,
6
74
,
674
,
674
,
-
29
,
-
29
,
-
29
,
-
29
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
710
,
707
,
-
1000
,
684
,
684
,
68
4
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
694
,
689
,
-
1000
,
674
,
674
,
67
4
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
704
,
704
,
704
,
697
,
697
,
713
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
687
,
687
,
687
,
676
,
676
,
706
,
-
1000
,
1
0731
,
-
171
,
468
,
3002
,
840
,
3002
,
-
1000
,
72
,
-
1000
,
-
1000
,
1
1369
,
-
172
,
422
,
3180
,
818
,
3180
,
-
1000
,
87
,
-
1000
,
1
0731
,
10731
,
651
,
-
1000
,
10731
,
3002
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
1
1369
,
11369
,
622
,
-
1000
,
11369
,
3180
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
10731
,
251
,
10731
,
10731
,
-
1000
,
239
,
-
1000
,
782
,
6539
,
-
1000
,
11369
,
248
,
11369
,
11369
,
-
1000
,
279
,
-
1000
,
775
,
6717
,
6539
,
4034
,
6539
,
-
1000
,
-
1000
,
-
1000
,
806
,
-
1000
,
853
,
864
,
6717
,
4212
,
6717
,
-
1000
,
-
1000
,
-
1000
,
801
,
-
1000
,
834
,
852
,
-
1000
,
790
,
789
,
6046
,
-
1000
,
-
1000
,
183
,
197
,
-
1000
,
-
1000
,
-
1000
,
785
,
784
,
6224
,
-
1000
,
-
1000
,
170
,
244
,
-
1000
,
-
1000
,
370
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
126
,
662
,
-
1000
,
2320
,
-
1000
,
353
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
112
,
634
,
-
1000
,
2098
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
336
,
7011
,
7011
,
7011
,
318
,
2320
,
2151
,
-
1000
,
-
1000
,
-
1000
,
344
,
7189
,
7189
,
7189
,
1420
,
2098
,
2330
,
1717
,
1097
,
142
,
130
,
130
,
143
,
143
,
143
,
143
,
143
,
262
,
1321
,
130
,
144
,
144
,
146
,
146
,
146
,
146
,
146
,
382
,
382
,
-
1000
,
-
1000
,
-
1000
,
443
,
-
1000
,
-
1000
,
-
1000
,
443
,
501
,
501
,
-
1000
,
-
1000
,
-
1000
,
398
,
-
1000
,
-
1000
,
-
1000
,
398
,
6046
,
635
,
-
1000
,
-
1000
,
6539
,
-
1000
,
443
,
540
,
540
,
253
,
6224
,
619
,
-
1000
,
-
1000
,
6717
,
-
1000
,
398
,
488
,
488
,
320
,
313
,
678
,
-
1000
,
124
,
668
,
540
,
6046
,
266
,
-
1000
,
6539
,
359
,
671
,
670
,
-
1000
,
111
,
658
,
650
,
488
,
6224
,
227
,
443
,
-
1000
,
540
,
443
,
540
,
540
,
517
,
662
,
-
1000
,
10961
,
-
1000
,
6717
,
398
,
-
1000
,
488
,
398
,
488
,
488
,
552
,
634
,
9114
,
9114
,
9114
,
9114
,
9114
,
-
1000
,
767
,
762
,
-
1000
,
755
,
-
1000
,
11599
,
9292
,
9292
,
9292
,
9292
,
9292
,
-
1000
,
758
,
744
,
754
,
763
,
10731
,
-
1000
,
543
,
8188
,
129
,
662
,
-
1000
,
9344
,
-
1000
,
759
,
757
,
745
,
11369
,
-
1000
,
490
,
8366
,
131
,
634
,
-
1000
,
-
1000
,
878
,
9114
,
611
,
-
1000
,
-
1000
,
630
,
-
127
,
-
93
,
-
1000
,
9522
,
-
1000
,
-
1000
,
863
,
9292
,
595
,
-
1000
,
-
1000
,
613
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
239
,
-
1000
,
395
,
629
,
2486
,
-
1000
,
-
91
,
-
115
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
279
,
-
1000
,
393
,
608
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
703
,
462
,
-
1000
,
831
,
2664
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
686
,
411
,
170
,
178
,
437
,
829
,
-
1000
,
-
1000
,
-
1000
,
804
,
-
1000
,
271
,
-
1000
,
810
,
174
,
171
,
406
,
809
,
-
1000
,
-
1000
,
-
1000
,
797
,
-
62
,
-
1000
,
-
1000
,
364
,
-
32
,
-
32
,
-
1000
,
-
1000
,
141
,
797
,
-
1000
,
217
,
-
75
,
-
1000
,
-
1000
,
316
,
-
29
,
-
29
,
-
1000
,
-
1000
,
141
,
141
,
141
,
409
,
409
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
341
,
129
,
792
,
129
,
129
,
129
,
375
,
375
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
338
,
-
1000
,
736
,
10501
,
3002
,
-
1000
,
3776
,
-
1000
,
293
,
-
1000
,
-
1000
,
-
1000
,
288
,
-
1000
,
719
,
11139
,
3180
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
1372
,
1265
,
181
,
-
1000
,
-
1000
,
3954
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
423
,
287
,
164
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
18
,
62
,
-
1000
,
3180
,
-
1000
,
245
,
-
1000
,
374
,
6717
,
-
1000
,
-
1000
,
772
,
279
,
279
,
110
,
-
1000
,
-
1000
,
11369
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
635
,
-
1000
,
-
1000
,
-
1000
,
3438
,
6224
,
-
1000
,
1420
,
2098
,
2156
,
-
1000
,
7189
,
7189
,
-
1000
,
-
1000
,
488
,
6224
,
279
,
-
1000
,
-
1000
,
-
1000
,
51
,
388
,
51
,
7189
,
7189
,
7189
,
7189
,
4212
,
7189
,
7189
,
7189
,
7189
,
-
161
,
594
,
186
,
-
1000
,
6717
,
305
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
718
,
11599
,
634
,
-
1000
,
8130
,
11139
,
631
,
-
1000
,
190
,
707
,
682
,
717
,
655
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
734
,
-
1000
,
733
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
73
,
70
,
67
,
11139
,
-
1000
,
855
,
6717
,
595
,
-
1000
,
-
1000
,
-
1000
,
-
127
,
-
133
,
-
1000
,
-
1000
,
-
1000
,
2922
,
-
1000
,
2922
,
11139
,
34
,
-
1000
,
406
,
406
,
-
1000
,
-
1000
,
-
1000
,
677
,
716
,
40
,
-
1000
,
-
1000
,
-
1000
,
514
,
129
,
129
,
-
1000
,
195
,
-
1000
,
-
1000
,
-
1000
,
486
,
-
1000
,
477
,
600
,
475
,
11369
,
-
1000
,
-
1000
,
593
,
-
1000
,
183
,
-
1000
,
-
1000
,
11139
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
20
,
65
,
-
1000
,
3002
,
-
1000
,
241
,
-
1000
,
408
,
6539
,
-
1000
,
11139
,
11369
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
11139
,
11369
,
-
1000
,
-
1000
,
780
,
239
,
239
,
116
,
-
1000
,
-
1000
,
10731
,
-
1000
,
-
1000
,
248
,
-
1000
,
279
,
-
1000
,
3954
,
-
1000
,
863
,
9292
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
667
,
-
1000
,
-
1000
,
-
1000
,
3260
,
6046
,
-
1000
,
318
,
398
,
-
1000
,
7189
,
2098
,
2098
,
-
1000
,
-
1000
,
398
,
674
,
674
,
2320
,
1588
,
-
1000
,
7011
,
7011
,
-
1000
,
-
1000
,
540
,
6046
,
239
,
-
1000
,
674
,
676
,
-
1000
,
674
,
-
9
,
674
,
-
11
,
398
,
398
,
-
1000
,
-
1000
,
-
1000
,
62
,
391
,
62
,
7011
,
7011
,
4034
,
7011
,
1974
,
2080
,
1821
,
2064
,
-
1000
,
1790
,
1954
,
1663
,
1847
,
634
,
7011
,
-
166
,
655
,
204
,
-
1000
,
6539
,
182
,
-
1000
,
-
1000
,
-
1000
,
-
158
,
-
1000
,
279
,
6717
,
-
1000
,
796
,
533
,
558
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
734
,
10961
,
662
,
-
1000
,
7952
,
10501
,
632
,
-
1000
,
5979
,
398
,
472
,
109
,
468
,
-
1000
,
855
,
11599
,
6717
,
-
1000
,
198
,
698
,
702
,
732
,
1334
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
756
,
-
1000
,
6717
,
675
,
-
1000
,
6717
,
-
1000
,
-
1000
,
-
1000
,
634
,
634
,
-
1000
,
714
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
87
,
86
,
73
,
634
,
468
,
843
,
279
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
2664
,
-
1000
,
10501
,
-
1000
,
871
,
6539
,
611
,
-
1000
,
-
1000
,
-
1000
,
-
121
,
-
123
,
452
,
-
1000
,
674
,
-
1000
,
-
1000
,
-
1000
,
11139
,
-
54
,
879
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
2744
,
-
1000
,
2744
,
10501
,
39
,
-
1000
,
437
,
-
1000
,
-
1000
,
-
1000
,
666
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
437
,
-
1000
,
-
1000
,
-
1000
,
699
,
731
,
76
,
-
1000
,
-
1000
,
-
1000
,
-
29
,
367
,
-
29
,
268
,
-
1000
,
265
,
3180
,
3954
,
2922
,
-
1000
,
550
,
141
,
141
,
-
1000
,
184
,
-
1000
,
-
1000
,
-
1000
,
531
,
-
1000
,
661
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
814
,
-
1000
,
-
1000
,
860
,
592
,
521
,
622
,
518
,
10731
,
-
1000
,
-
1000
,
571
,
-
1000
,
196
,
-
1000
,
-
1000
,
2098
,
-
1000
,
-
1000
,
100
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
10501
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
7189
,
7189
,
-
1000
,
7189
,
7189
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
10501
,
10731
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
7189
,
7189
,
-
1000
,
7189
,
7189
,
7189
,
398
,
356
,
279
,
807
,
-
1000
,
10501
,
10731
,
-
1000
,
251
,
-
1000
,
239
,
-
1000
,
3776
,
-
1000
,
-
1000
,
634
,
-
1000
,
-
1000
,
639
,
11139
,
11139
,
-
1000
,
11139
,
843
,
878
,
9114
,
-
1000
,
-
1000
,
443
,
-
1000
,
7011
,
2320
,
2320
,
-
1000
,
-
1000
,
279
,
279
,
11139
,
279
,
11139
,
11139
,
11139
,
7894
,
-
1000
,
-
1000
,
443
,
684
,
684
,
-
1000
,
684
,
697
,
-
1000
,
684
,
-
8
,
121
,
11139
,
-
1000
,
448
,
-
1000
,
147
,
-
1000
,
-
141
,
508
,
129
,
684
,
-
14
,
443
,
443
,
1891
,
2074
,
-
1000
,
674
,
1978
,
662
,
-
1000
,
129
,
453
,
449
,
-
1000
,
-
1000
,
-
1000
,
11139
,
634
,
858
,
-
163
,
-
1000
,
239
,
6539
,
-
1000
,
803
,
560
,
562
,
-
1000
,
-
1000
,
848
,
-
1000
,
-
1000
,
1490
,
1490
,
1490
,
1490
,
1490
,
1490
,
1490
,
5801
,
443
,
479
,
114
,
477
,
-
1000
,
871
,
10961
,
6539
,
-
1000
,
1490
,
33
,
-
1000
,
-
1000
,
877
,
-
1000
,
634
,
-
1000
,
673
,
104
,
-
1000
,
6539
,
695
,
-
1000
,
6539
,
-
1000
,
-
1000
,
-
1000
,
662
,
662
,
-
1000
,
-
1000
,
-
1000
,
446
,
437
,
437
,
437
,
131
,
121
,
-
1000
,
662
,
477
,
862
,
239
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
2486
,
-
1000
,
290
,
179
,
338
,
-
1000
,
31
,
11139
,
240
,
806
,
-
1000
,
800
,
472
,
-
1000
,
684
,
-
1000
,
-
1000
,
-
1000
,
10501
,
-
56
,
902
,
-
1000
,
652
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
420
,
17
,
-
1000
,
6717
,
-
1000
,
-
1000
,
-
1000
,
683
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
6717
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
398
,
-
32
,
407
,
-
32
,
324
,
-
1000
,
323
,
3002
,
3776
,
2744
,
-
1000
,
44
,
-
176
,
11599
,
558
,
398
,
11139
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
682
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
836
,
-
1000
,
-
1000
,
875
,
566
,
-
1000
,
-
1000
,
-
1000
,
250
,
-
1000
,
-
1000
,
11369
,
-
1000
,
-
1000
,
324
,
-
1000
,
2320
,
-
1000
,
-
1000
,
97
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
421
,
705
,
418
,
-
1000
,
11139
,
279
,
541
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
7011
,
7011
,
-
1000
,
7011
,
7011
,
7011
,
768
,
-
166
,
-
179
,
537
,
-
1000
,
-
1000
,
-
1000
,
648
,
-
1000
,
-
1000
,
443
,
406
,
239
,
814
,
-
1000
,
662
,
-
1000
,
-
1000
,
634
,
10501
,
-
172
,
-
1000
,
17
,
781
,
-
1000
,
763
,
-
1000
,
11139
,
-
1000
,
-
1000
,
10501
,
-
1000
,
10501
,
862
,
-
1000
,
239
,
239
,
10501
,
239
,
10501
,
14
,
-
174
,
384
,
12
,
-
177
,
715
,
634
,
-
180
,
714
,
-
1000
,
10501
,
10501
,
7716
,
-
1000
,
128
,
10501
,
-
1000
,
461
,
-
1000
,
174
,
888
,
6953
,
-
1000
,
-
1000
,
874
,
150
,
150
,
1490
,
398
,
-
1000
,
-
1000
,
-
141
,
532
,
141
,
-
1000
,
141
,
528
,
473
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
38
,
273
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
10501
,
662
,
873
,
865
,
-
1000
,
-
1000
,
535
,
535
,
535
,
535
,
24
,
-
1000
,
-
1000
,
896
,
-
1000
,
662
,
-
1000
,
619
,
110
,
-
1000
,
-
1000
,
-
1000
,
448
,
446
,
446
,
446
,
129
,
128
,
-
1000
,
435
,
194
,
392
,
-
1000
,
36
,
10501
,
277
,
813
,
-
1000
,
810
,
677
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
442
,
18
,
-
1000
,
6539
,
6539
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
443
,
44
,
-
175
,
10961
,
562
,
443
,
10501
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
312
,
-
1000
,
-
1000
,
10731
,
-
1000
,
-
1000
,
388
,
-
1000
,
-
1000
,
449
,
712
,
421
,
-
1000
,
10501
,
239
,
561
,
-
1000
,
774
,
-
169
,
-
180
,
558
,
-
1000
,
-
1000
,
-
1000
,
673
,
-
1000
,
-
1000
,
-
171
,
-
1000
,
18
,
788
,
-
1000
,
772
,
-
1000
,
10501
,
-
1000
,
-
1000
,
15
,
-
173
,
417
,
13
,
-
178
,
730
,
662
,
-
182
,
728
,
-
1000
,
888
,
6775
,
-
1000
,
-
1000
,
894
,
154
,
154
,
535
,
443
,
-
1000
,
-
1000
,
-
1000
,
43
,
403
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
-
1000
,
}
}
var
yyPgo
=
[
...
]
int
{
var
yyPgo
=
[
...
]
int
{
0
,
1
126
,
28
,
433
,
1125
,
1123
,
1121
,
1120
,
1119
,
1112
,
0
,
1
092
,
28
,
412
,
1091
,
1088
,
1087
,
1086
,
1085
,
1084
,
1
110
,
1109
,
1107
,
1105
,
1104
,
1102
,
1097
,
1096
,
1095
,
1094
,
1
083
,
1082
,
1081
,
1080
,
1079
,
1077
,
1076
,
1074
,
1073
,
1072
,
10
91
,
1089
,
1086
,
1084
,
1081
,
1078
,
133
,
1077
,
1076
,
1075
,
10
71
,
1070
,
1067
,
1066
,
1060
,
1059
,
119
,
1056
,
1053
,
1052
,
6
1
,
1074
,
77
,
1071
,
1070
,
35
,
156
,
41
,
38
,
1012
,
6
3
,
1051
,
71
,
1050
,
1046
,
38
,
160
,
65
,
42
,
1148
,
10
68
,
21
,
62
,
59
,
1065
,
26
,
1064
,
1061
,
69
,
1059
,
10
42
,
23
,
58
,
55
,
1038
,
35
,
1036
,
1035
,
75
,
1033
,
4
8
,
1058
,
1057
,
1180
,
1051
,
1050
,
12
,
40
,
1047
,
1046
,
4
9
,
1032
,
1030
,
833
,
1029
,
1027
,
10
,
44
,
1025
,
1024
,
10
45
,
1041
,
63
,
132
,
1040
,
1039
,
1037
,
1036
,
1033
,
1031
,
10
23
,
1022
,
70
,
1089
,
1021
,
1020
,
1017
,
1014
,
1011
,
1009
,
51
,
8
,
11
,
18
,
25
,
1030
,
115
,
9
,
1029
,
50
,
64
,
3
,
13
,
8
,
18
,
1008
,
51
,
11
,
1007
,
50
,
10
28
,
1027
,
1026
,
1024
,
23
,
1023
,
57
,
1020
,
43
,
56
,
10
05
,
1004
,
1002
,
1000
,
19
,
999
,
60
,
996
,
17
,
57
,
1018
,
7
,
70
,
31
,
15
,
6
,
75
,
65
,
1015
,
14
,
994
,
12
,
66
,
34
,
20
,
7
,
77
,
61
,
992
,
22
,
66
,
42
,
1014
,
1013
,
379
,
1011
,
1010
,
45
,
1008
,
1005
,
54
,
47
,
991
,
990
,
371
,
986
,
982
,
40
,
980
,
976
,
2
2
,
175
,
309
,
1003
,
1002
,
1000
,
999
,
37
,
0
,
488
,
2
4
,
156
,
350
,
975
,
972
,
971
,
969
,
31
,
0
,
497
,
463
,
73
,
998
,
996
,
993
,
1166
,
71
,
55
,
20
,
992
,
86
,
73
,
965
,
964
,
963
,
1429
,
69
,
53
,
15
,
961
,
4
9
,
83
,
44
,
990
,
988
,
34
,
985
,
982
,
981
,
979
,
4
3
,
56
,
41
,
960
,
951
,
37
,
950
,
949
,
947
,
946
,
9
78
,
975
,
974
,
60
,
971
,
966
,
964
,
99
,
30
,
963
,
9
45
,
944
,
943
,
124
,
942
,
941
,
938
,
27
,
26
,
937
,
9
62
,
64
,
27
,
960
,
959
,
953
,
47
,
58
,
952
,
942
,
9
34
,
62
,
21
,
933
,
930
,
928
,
46
,
59
,
927
,
926
,
5
4
,
33
,
941
,
940
,
939
,
938
,
937
,
17
,
19
,
936
,
5
2
,
48
,
925
,
924
,
923
,
922
,
919
,
33
,
25
,
918
,
1
3
,
932
,
10
,
928
,
24
,
926
,
3
,
925
,
16
,
924
,
1
4
,
916
,
5
,
914
,
30
,
912
,
6
,
910
,
16
,
909
,
4
,
922
,
5
,
46
,
1
,
920
,
2
,
919
,
916
,
5
2
,
9
,
908
,
4
,
45
,
1
,
904
,
2
,
903
,
902
,
32
2
,
332
,
915
,
899
,
84
,
691
,
901
,
899
,
78
,
}
}
var
yyR1
=
[
...
]
int
{
var
yyR1
=
[
...
]
int
{
...
@@ -2041,22 +2107,22 @@ var yyR1 = [...]int{
...
@@ -2041,22 +2107,22 @@ var yyR1 = [...]int{
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
67
,
67
,
67
,
65
,
65
,
63
,
63
,
63
,
63
,
63
,
67
,
67
,
67
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
65
,
6
6
,
66
,
66
,
66
,
66
,
66
,
66
,
65
,
65
,
65
,
6
5
,
65
,
65
,
65
,
65
,
65
,
66
,
66
,
193
,
193
,
68
,
68
,
68
,
68
,
33
,
33
,
33
,
66
,
66
,
66
,
66
,
66
,
66
,
66
,
193
,
193
,
68
,
33
,
33
,
132
,
132
,
135
,
135
,
135
,
135
,
135
,
135
,
68
,
68
,
68
,
33
,
33
,
33
,
33
,
33
,
132
,
132
,
135
,
135
,
135
,
135
,
135
,
135
,
135
,
80
,
80
,
34
,
135
,
135
,
135
,
135
,
135
,
135
,
135
,
135
,
135
,
135
,
34
,
78
,
78
,
79
,
81
,
81
,
77
,
77
,
77
,
62
,
135
,
135
,
135
,
80
,
80
,
34
,
34
,
78
,
78
,
79
,
62
,
62
,
62
,
62
,
62
,
62
,
62
,
64
,
64
,
64
,
81
,
81
,
77
,
77
,
77
,
62
,
62
,
62
,
62
,
62
,
82
,
82
,
83
,
83
,
84
,
84
,
85
,
85
,
86
,
87
,
62
,
62
,
62
,
64
,
64
,
64
,
82
,
82
,
83
,
83
,
8
7
,
87
,
88
,
88
,
88
,
88
,
89
,
89
,
89
,
61
,
8
4
,
84
,
85
,
85
,
86
,
87
,
87
,
87
,
88
,
88
,
61
,
61
,
61
,
61
,
61
,
90
,
90
,
90
,
90
,
94
,
88
,
88
,
89
,
89
,
89
,
61
,
61
,
61
,
61
,
61
,
94
,
72
,
72
,
74
,
74
,
73
,
75
,
95
,
95
,
99
,
61
,
90
,
90
,
90
,
90
,
94
,
94
,
72
,
72
,
74
,
96
,
96
,
100
,
100
,
100
,
100
,
98
,
98
,
98
,
124
,
74
,
73
,
75
,
95
,
95
,
99
,
96
,
96
,
100
,
100
,
1
24
,
124
,
103
,
103
,
111
,
111
,
112
,
112
,
104
,
104
,
1
00
,
100
,
98
,
98
,
98
,
124
,
124
,
124
,
103
,
103
,
11
3
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
113
,
11
1
,
111
,
112
,
112
,
104
,
104
,
113
,
113
,
113
,
113
,
11
4
,
114
,
114
,
115
,
115
,
116
,
116
,
116
,
123
,
123
,
11
3
,
113
,
113
,
113
,
113
,
113
,
114
,
114
,
114
,
115
,
11
9
,
119
,
120
,
120
,
125
,
125
,
126
,
126
,
117
,
117
,
11
5
,
116
,
116
,
116
,
123
,
123
,
119
,
119
,
120
,
120
,
1
17
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
1
25
,
125
,
126
,
126
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
...
@@ -2065,7 +2131,7 @@ var yyR1 = [...]int{
...
@@ -2065,7 +2131,7 @@ var yyR1 = [...]int{
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
117
,
11
8
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
117
,
11
7
,
117
,
117
,
117
,
117
,
117
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
...
@@ -2076,7 +2142,8 @@ var yyR1 = [...]int{
...
@@ -2076,7 +2142,8 @@ var yyR1 = [...]int{
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
189
,
190
,
130
,
131
,
131
,
131
,
118
,
118
,
118
,
118
,
118
,
118
,
118
,
189
,
190
,
130
,
131
,
131
,
131
,
}
}
var
yyR2
=
[
...
]
int
{
var
yyR2
=
[
...
]
int
{
...
@@ -2127,22 +2194,22 @@ var yyR2 = [...]int{
...
@@ -2127,22 +2194,22 @@ var yyR2 = [...]int{
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
3
,
3
,
3
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
3
,
1
,
1
,
1
,
1
,
4
,
5
,
6
,
4
,
4
,
3
,
1
,
1
,
1
,
1
,
4
,
5
,
6
,
4
,
4
,
6
,
6
,
6
,
6
,
8
,
8
,
6
,
8
,
8
,
9
,
6
,
6
,
6
,
6
,
8
,
8
,
6
,
8
,
8
,
6
,
7
,
5
,
4
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
8
,
8
,
6
,
8
,
8
,
9
,
7
,
5
,
4
,
2
,
2
,
0
,
2
,
4
,
4
,
4
,
4
,
0
,
3
,
4
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
2
,
4
,
7
,
3
,
1
,
1
,
2
,
3
,
3
,
1
,
2
,
2
,
4
,
4
,
4
,
0
,
3
,
4
,
7
,
3
,
1
,
1
,
1
,
2
,
1
,
2
,
2
,
1
,
2
,
0
,
1
,
0
,
2
,
3
,
3
,
1
,
2
,
2
,
1
,
2
,
1
,
2
,
2
,
1
,
2
,
4
,
0
,
2
,
1
,
3
,
5
,
1
,
2
,
1
,
2
,
0
,
1
,
0
,
2
,
1
,
2
,
4
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
0
,
2
,
1
,
3
,
5
,
1
,
1
,
1
,
1
,
1
,
0
,
3
,
0
,
2
,
0
,
3
,
1
,
3
,
2
,
0
,
1
,
1
,
1
,
1
,
2
,
2
,
0
,
3
,
0
,
2
,
1
,
1
,
0
,
2
,
4
,
4
,
0
,
2
,
4
,
2
,
0
,
3
,
1
,
3
,
2
,
0
,
1
,
1
,
0
,
2
,
1
,
3
,
5
,
4
,
6
,
1
,
3
,
3
,
5
,
0
,
4
,
4
,
0
,
2
,
4
,
2
,
1
,
3
,
5
,
4
,
5
,
1
,
3
,
1
,
2
,
3
,
1
,
1
,
3
,
3
,
6
,
1
,
3
,
3
,
5
,
0
,
5
,
1
,
3
,
1
,
1
,
3
,
3
,
3
,
3
,
3
,
1
,
2
,
1
,
1
,
2
,
3
,
1
,
1
,
3
,
3
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
1
,
0
,
2
,
0
,
3
,
0
,
1
,
3
,
3
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
2
,
0
,
3
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
0
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
0
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
...
@@ -2163,7 +2230,8 @@ var yyR2 = [...]int{
...
@@ -2163,7 +2230,8 @@ var yyR2 = [...]int{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
}
}
var
yyChk
=
[
...
]
int
{
var
yyChk
=
[
...
]
int
{
...
@@ -2244,39 +2312,40 @@ var yyChk = [...]int{
...
@@ -2244,39 +2312,40 @@ var yyChk = [...]int{
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
132
,
57
,
59
,
57
,
-
62
,
-
62
,
-
119
,
-
37
,
-
63
,
-
63
,
-
132
,
57
,
59
,
57
,
-
62
,
-
62
,
-
119
,
-
37
,
21
,
-
36
,
-
38
,
-
190
,
55
,
-
190
,
-
2
,
-
36
,
-
36
,
-
39
,
21
,
-
36
,
-
38
,
-
190
,
55
,
-
190
,
-
2
,
-
36
,
-
36
,
-
39
,
-
39
,
-
77
,
-
119
,
-
125
,
-
77
,
-
36
,
-
30
,
-
78
,
-
79
,
78
,
-
39
,
-
77
,
59
,
-
119
,
-
125
,
-
77
,
59
,
-
36
,
-
30
,
-
78
,
-
77
,
-
190
,
-
36
,
-
37
,
-
36
,
-
36
,
-
92
,
151
,
-
53
,
30
,
-
79
,
78
,
-
77
,
-
190
,
-
36
,
-
37
,
-
36
,
-
36
,
-
92
,
151
,
55
,
-
49
,
-
51
,
-
50
,
-
52
,
42
,
46
,
48
,
43
,
44
,
-
53
,
30
,
55
,
-
49
,
-
51
,
-
50
,
-
52
,
42
,
46
,
48
,
45
,
49
,
-
129
,
22
,
-
41
,
-
189
,
-
128
,
151
,
-
127
,
22
,
43
,
44
,
45
,
49
,
-
129
,
22
,
-
41
,
-
189
,
-
128
,
151
,
-
125
,
59
,
-
92
,
53
,
-
41
,
-
53
,
-
100
,
-
97
,
55
,
231
,
-
127
,
22
,
-
125
,
59
,
-
92
,
53
,
-
41
,
-
53
,
-
100
,
-
97
,
233
,
234
,
52
,
71
,
-
39
,
-
148
,
107
,
-
166
,
-
167
,
-
168
,
55
,
231
,
233
,
234
,
52
,
71
,
-
39
,
-
148
,
107
,
-
166
,
-
120
,
59
,
60
,
-
157
,
-
158
,
-
159
,
-
169
,
137
,
-
174
,
130
,
-
167
,
-
168
,
-
120
,
59
,
60
,
-
157
,
-
158
,
-
159
,
-
169
,
137
,
132
,
129
,
-
160
,
138
,
124
,
28
,
56
,
-
153
,
68
,
74
,
-
174
,
130
,
132
,
129
,
-
160
,
138
,
124
,
28
,
56
,
-
153
,
-
149
,
212
,
-
143
,
54
,
-
143
,
-
143
,
-
143
,
-
143
,
-
147
,
187
,
68
,
74
,
-
149
,
212
,
-
143
,
54
,
-
143
,
-
143
,
-
143
,
-
143
,
-
147
,
-
147
,
-
147
,
54
,
54
,
-
143
,
-
143
,
-
143
,
-
151
,
54
,
-
147
,
187
,
-
147
,
-
147
,
-
147
,
54
,
54
,
-
143
,
-
143
,
-
143
,
-
151
,
-
151
,
-
152
,
54
,
-
152
,
-
123
,
53
,
-
53
,
-
180
,
259
,
-
151
,
54
,
-
151
,
-
151
,
-
152
,
54
,
-
152
,
-
123
,
53
,
-
53
,
-
181
,
57
,
-
131
,
23
,
-
131
,
-
113
,
120
,
117
,
118
,
-
177
,
-
180
,
259
,
-
181
,
57
,
-
131
,
23
,
-
131
,
-
113
,
120
,
117
,
116
,
209
,
187
,
66
,
29
,
15
,
249
,
151
,
262
,
57
,
118
,
-
177
,
116
,
209
,
187
,
66
,
29
,
15
,
249
,
151
,
152
,
-
53
,
-
53
,
-
53
,
-
131
,
-
53
,
-
110
,
90
,
12
,
-
125
,
262
,
57
,
152
,
-
53
,
-
53
,
-
53
,
-
131
,
-
53
,
-
110
,
90
,
-
125
,
38
,
-
39
,
-
39
,
-
126
,
-
86
,
-
89
,
-
103
,
19
,
11
,
12
,
-
125
,
-
125
,
38
,
-
39
,
-
39
,
-
126
,
-
86
,
-
89
,
-
103
,
34
,
34
,
-
36
,
68
,
69
,
70
,
112
,
-
189
,
-
70
,
-
63
,
19
,
11
,
34
,
34
,
-
36
,
68
,
69
,
70
,
112
,
-
189
,
-
63
,
-
63
,
-
35
,
146
,
73
,
-
190
,
-
190
,
-
36
,
55
,
-
39
,
-
70
,
-
63
,
-
63
,
-
63
,
-
35
,
146
,
73
,
-
190
,
-
190
,
-
36
,
-
190
,
-
190
,
-
190
,
55
,
53
,
22
,
55
,
11
,
112
,
55
,
55
,
-
39
,
-
190
,
-
190
,
-
190
,
55
,
53
,
22
,
55
,
11
,
11
,
-
190
,
-
36
,
-
81
,
-
79
,
80
,
-
39
,
-
190
,
-
190
,
-
190
,
55
,
11
,
112
,
55
,
11
,
55
,
11
,
-
190
,
-
36
,
-
81
,
-
190
,
-
190
,
-
61
,
30
,
34
,
-
2
,
-
189
,
-
189
,
-
95
,
-
99
,
-
79
,
80
,
-
39
,
-
190
,
-
190
,
-
190
,
-
190
,
-
190
,
-
61
,
30
,
-
77
,
-
42
,
-
43
,
-
43
,
-
42
,
-
43
,
42
,
42
,
42
,
47
,
34
,
-
2
,
-
189
,
-
189
,
-
95
,
-
99
,
-
77
,
-
42
,
-
43
,
-
43
,
42
,
47
,
42
,
-
50
,
-
125
,
-
190
,
-
56
,
50
,
127
,
51
,
-
42
,
-
43
,
42
,
42
,
42
,
47
,
42
,
47
,
42
,
-
50
,
-
189
,
-
127
,
-
57
,
12
,
-
41
,
-
57
,
-
101
,
-
102
,
235
,
232
,
-
125
,
-
190
,
-
56
,
50
,
127
,
51
,
-
189
,
-
127
,
-
57
,
12
,
238
,
57
,
59
,
55
,
-
168
,
82
,
54
,
57
,
28
,
-
160
,
-
41
,
-
57
,
-
101
,
-
102
,
235
,
232
,
238
,
57
,
59
,
55
,
-
160
,
-
161
,
57
,
-
161
,
28
,
-
144
,
29
,
68
,
-
150
,
213
,
-
168
,
82
,
54
,
57
,
28
,
-
160
,
-
160
,
-
161
,
57
,
-
161
,
60
,
-
147
,
-
147
,
-
148
,
30
,
-
148
,
-
148
,
-
148
,
-
156
,
59
,
28
,
-
144
,
29
,
68
,
-
150
,
213
,
60
,
-
147
,
-
147
,
-
148
,
-
156
,
60
,
60
,
52
,
-
119
,
-
131
,
-
179
,
-
178
,
-
120
,
-
130
,
30
,
-
148
,
-
148
,
-
148
,
-
156
,
59
,
-
156
,
60
,
60
,
52
,
-
183
,
157
,
131
,
137
,
138
,
133
,
57
,
124
,
28
,
130
,
-
119
,
-
131
,
-
179
,
-
178
,
-
120
,
-
130
,
-
183
,
157
,
131
,
137
,
132
,
151
,
129
,
-
183
,
157
,
-
114
,
-
115
,
126
,
22
,
124
,
138
,
133
,
57
,
124
,
28
,
130
,
132
,
151
,
129
,
-
183
,
28
,
151
,
126
,
-
131
,
-
107
,
59
,
-
39
,
39
,
112
,
-
53
,
157
,
-
114
,
-
115
,
126
,
22
,
124
,
28
,
151
,
126
,
-
131
,
-
40
,
11
,
99
,
-
120
,
-
37
,
-
35
,
73
,
-
63
,
-
63
,
-
190
,
-
107
,
59
,
-
39
,
39
,
112
,
-
53
,
-
40
,
11
,
99
,
-
120
,
-
38
,
-
135
,
108
,
184
,
145
,
182
,
178
,
198
,
189
,
211
,
-
37
,
-
35
,
73
,
-
63
,
-
63
,
-
190
,
-
38
,
-
135
,
108
,
184
,
180
,
212
,
-
132
,
-
135
,
-
63
,
-
63
,
-
120
,
-
63
,
-
63
,
256
,
145
,
182
,
178
,
198
,
189
,
211
,
180
,
212
,
-
132
,
-
135
,
-
63
,
-
63
,
-
63
,
-
63
,
-
120
,
-
63
,
-
63
,
-
63
,
-
63
,
256
,
-
84
,
81
,
-
39
,
79
,
-
94
,
52
,
-
95
,
-
72
,
-
74
,
-
73
,
-
84
,
81
,
-
39
,
79
,
-
94
,
52
,
-
95
,
-
72
,
-
74
,
-
73
,
-
189
,
-
2
,
-
90
,
-
119
,
-
93
,
-
119
,
-
57
,
55
,
82
,
-
46
,
-
189
,
-
2
,
-
90
,
-
119
,
-
93
,
-
119
,
-
57
,
55
,
82
,
-
46
,
-
45
,
52
,
53
,
-
47
,
52
,
-
45
,
42
,
42
,
124
,
124
,
-
45
,
52
,
53
,
-
47
,
52
,
-
45
,
42
,
42
,
124
,
124
,
...
@@ -2286,166 +2355,169 @@ var yyChk = [...]int{
...
@@ -2286,166 +2355,169 @@ var yyChk = [...]int{
56
,
55
,
56
,
55
,
56
,
55
,
-
53
,
55
,
82
,
-
130
,
56
,
55
,
56
,
55
,
56
,
55
,
-
53
,
55
,
82
,
-
130
,
-
119
,
-
130
,
-
119
,
-
53
,
-
130
,
-
119
,
-
53
,
-
110
,
-
57
,
-
41
,
-
119
,
-
130
,
-
119
,
-
53
,
-
130
,
-
119
,
-
53
,
-
110
,
-
57
,
-
41
,
-
190
,
-
63
,
-
190
,
-
143
,
-
143
,
-
143
,
-
152
,
-
143
,
172
,
-
143
,
-
190
,
-
63
,
-
190
,
-
143
,
-
143
,
-
143
,
-
152
,
-
143
,
172
,
-
143
,
172
,
-
190
,
-
190
,
-
190
,
55
,
19
,
-
190
,
55
,
19
,
-
189
,
172
,
-
190
,
-
190
,
-
190
,
55
,
19
,
-
190
,
55
,
19
,
-
190
,
-
34
,
254
,
-
39
,
27
,
-
94
,
55
,
-
190
,
-
190
,
-
190
,
55
,
55
,
19
,
-
190
,
55
,
19
,
-
189
,
-
34
,
254
,
-
39
,
27
,
112
,
-
190
,
55
,
-
84
,
-
99
,
-
39
,
-
39
,
54
,
-
39
,
-
189
,
-
94
,
55
,
-
190
,
-
190
,
-
190
,
55
,
112
,
-
190
,
55
,
-
84
,
-
189
,
-
189
,
-
190
,
-
88
,
56
,
55
,
-
143
,
-
91
,
-
119
,
-
154
,
-
99
,
-
39
,
-
39
,
54
,
-
39
,
-
189
,
-
189
,
-
189
,
-
190
,
-
88
,
209
,
9
,
54
,
-
147
,
59
,
-
147
,
60
,
60
,
-
131
,
-
178
,
56
,
55
,
-
143
,
-
91
,
-
119
,
-
154
,
209
,
9
,
54
,
-
147
,
-
168
,
54
,
26
,
-
82
,
13
,
-
147
,
57
,
-
63
,
-
63
,
-
63
,
59
,
-
147
,
60
,
60
,
-
131
,
-
178
,
-
168
,
54
,
26
,
-
82
,
13
,
-
147
,
57
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
63
,
-
190
,
59
,
28
,
-
74
,
34
,
-
2
,
-
189
,
-
119
,
-
63
,
-
63
,
-
190
,
59
,
28
,
-
74
,
34
,
-
2
,
-
189
,
-
119
,
-
119
,
-
119
,
-
88
,
-
91
,
-
91
,
-
91
,
-
91
,
-
128
,
-
173
,
-
172
,
-
119
,
-
119
,
-
88
,
-
91
,
-
91
,
-
91
,
-
91
,
-
128
,
-
173
,
-
172
,
53
,
134
,
66
,
-
170
,
56
,
55
,
-
155
,
130
,
28
,
129
,
53
,
134
,
66
,
-
170
,
56
,
55
,
-
155
,
130
,
28
,
129
,
239
,
56
,
-
148
,
-
148
,
56
,
56
,
-
91
,
-
189
,
-
83
,
14
,
239
,
56
,
-
148
,
-
148
,
56
,
56
,
-
91
,
-
189
,
-
83
,
14
,
16
,
-
190
,
-
190
,
-
190
,
-
190
,
-
33
,
92
,
259
,
9
,
-
72
,
16
,
-
190
,
-
190
,
-
190
,
-
190
,
-
190
,
-
190
,
-
190
,
-
190
,
-
33
,
-
2
,
112
,
56
,
-
190
,
-
190
,
-
190
,
-
56
,
-
172
,
57
,
-
162
,
92
,
259
,
9
,
-
72
,
-
2
,
112
,
56
,
-
190
,
-
190
,
-
190
,
82
,
59
,
140
,
-
119
,
-
145
,
66
,
28
,
28
,
54
,
5
6
,
-
56
,
-
172
,
57
,
-
162
,
82
,
59
,
140
,
-
119
,
-
145
,
6
6
,
-
175
,
-
176
,
151
,
-
39
,
-
71
,
-
190
,
257
,
49
,
260
,
-
95
,
28
,
28
,
54
,
56
,
-
175
,
-
176
,
151
,
-
39
,
-
71
,
-
190
,
-
190
,
-
119
,
60
,
-
53
,
59
,
56
,
-
182
,
-
190
,
55
,
-
119
,
257
,
49
,
260
,
-
95
,
-
190
,
-
119
,
60
,
-
53
,
59
,
56
,
39
,
258
,
261
,
54
,
-
180
,
-
176
,
34
,
39
,
-
91
,
153
,
-
182
,
-
190
,
55
,
-
119
,
39
,
258
,
261
,
54
,
-
180
,
-
176
,
259
,
56
,
154
,
260
,
-
185
,
-
186
,
52
,
-
189
,
261
,
-
186
,
34
,
39
,
-
91
,
153
,
259
,
56
,
154
,
260
,
-
185
,
-
186
,
52
,
10
,
9
,
-
63
,
150
,
-
184
,
141
,
136
,
139
,
30
,
52
,
-
189
,
261
,
-
186
,
52
,
10
,
9
,
-
63
,
150
,
-
184
,
-
184
,
-
190
,
-
190
,
135
,
29
,
68
,
141
,
136
,
139
,
30
,
-
184
,
-
190
,
-
190
,
135
,
29
,
68
,
}
}
var
yyDef
=
[
...
]
int
{
var
yyDef
=
[
...
]
int
{
23
,
-
2
,
2
,
-
2
,
5
,
6
,
7
,
8
,
9
,
10
,
23
,
-
2
,
2
,
-
2
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
5
44
,
0
,
311
,
311
,
311
,
311
,
311
,
311
,
21
,
22
,
5
50
,
0
,
311
,
311
,
311
,
311
,
311
,
311
,
0
,
6
15
,
598
,
0
,
0
,
0
,
0
,
-
2
,
298
,
299
,
0
,
6
21
,
604
,
0
,
0
,
0
,
0
,
-
2
,
298
,
299
,
0
,
301
,
302
,
83
3
,
833
,
833
,
833
,
833
,
0
,
0
,
0
,
301
,
302
,
83
9
,
839
,
839
,
839
,
839
,
0
,
0
,
83
3
,
0
,
35
,
36
,
831
,
1
,
3
,
552
,
0
,
0
,
83
9
,
0
,
35
,
36
,
837
,
1
,
3
,
558
,
0
,
0
,
315
,
318
,
313
,
0
,
598
,
598
,
0
,
0
,
62
,
63
,
315
,
318
,
313
,
0
,
604
,
604
,
0
,
0
,
62
,
63
,
0
,
0
,
0
,
8
18
,
0
,
819
,
596
,
596
,
596
,
616
,
0
,
0
,
0
,
8
24
,
0
,
825
,
602
,
602
,
602
,
622
,
6
17
,
620
,
621
,
721
,
722
,
723
,
724
,
725
,
726
,
727
,
6
23
,
626
,
627
,
727
,
728
,
729
,
730
,
731
,
732
,
733
,
7
28
,
729
,
730
,
731
,
732
,
733
,
734
,
735
,
736
,
737
,
7
34
,
735
,
736
,
737
,
738
,
739
,
740
,
741
,
742
,
743
,
7
38
,
739
,
740
,
741
,
742
,
743
,
744
,
745
,
746
,
747
,
7
44
,
745
,
746
,
747
,
748
,
749
,
750
,
751
,
752
,
753
,
7
48
,
749
,
750
,
751
,
752
,
753
,
754
,
755
,
756
,
757
,
7
54
,
755
,
756
,
757
,
758
,
759
,
760
,
761
,
762
,
763
,
7
58
,
759
,
760
,
761
,
762
,
763
,
764
,
765
,
766
,
767
,
7
64
,
765
,
766
,
767
,
768
,
769
,
770
,
771
,
772
,
773
,
7
68
,
769
,
770
,
771
,
772
,
773
,
774
,
775
,
776
,
777
,
7
74
,
775
,
776
,
777
,
778
,
779
,
780
,
781
,
782
,
783
,
7
78
,
779
,
780
,
781
,
782
,
783
,
784
,
785
,
786
,
787
,
7
84
,
785
,
786
,
787
,
788
,
789
,
790
,
791
,
792
,
793
,
7
88
,
789
,
790
,
791
,
792
,
793
,
794
,
795
,
796
,
797
,
7
94
,
795
,
796
,
797
,
798
,
799
,
800
,
801
,
802
,
803
,
798
,
799
,
800
,
801
,
802
,
803
,
804
,
805
,
806
,
807
,
804
,
805
,
806
,
807
,
808
,
809
,
810
,
811
,
812
,
813
,
8
08
,
809
,
810
,
811
,
812
,
813
,
814
,
815
,
816
,
817
,
8
14
,
815
,
816
,
817
,
818
,
819
,
820
,
821
,
822
,
823
,
82
0
,
821
,
822
,
823
,
824
,
825
,
826
,
827
,
828
,
829
,
82
6
,
827
,
828
,
829
,
830
,
831
,
832
,
833
,
834
,
835
,
83
0
,
0
,
0
,
599
,
0
,
594
,
0
,
594
,
594
,
594
,
83
6
,
0
,
0
,
605
,
0
,
600
,
0
,
600
,
600
,
600
,
0
,
252
,
383
,
6
24
,
625
,
818
,
819
,
0
,
0
,
0
,
0
,
252
,
383
,
6
30
,
631
,
824
,
825
,
0
,
0
,
0
,
0
,
8
34
,
834
,
834
,
834
,
0
,
834
,
0
,
271
,
272
,
0
,
8
40
,
840
,
840
,
840
,
0
,
840
,
0
,
271
,
272
,
275
,
276
,
277
,
278
,
279
,
280
,
8
34
,
295
,
296
,
285
,
275
,
276
,
277
,
278
,
279
,
280
,
8
40
,
295
,
296
,
285
,
297
,
300
,
303
,
304
,
305
,
306
,
307
,
83
3
,
833
,
310
,
297
,
300
,
303
,
304
,
305
,
306
,
307
,
83
9
,
839
,
310
,
29
,
5
56
,
0
,
0
,
544
,
31
,
0
,
311
,
316
,
317
,
29
,
5
62
,
0
,
0
,
550
,
31
,
0
,
311
,
316
,
317
,
321
,
319
,
320
,
312
,
0
,
329
,
333
,
0
,
391
,
0
,
321
,
319
,
320
,
312
,
0
,
329
,
333
,
0
,
391
,
0
,
396
,
398
,
-
2
,
-
2
,
0
,
433
,
434
,
435
,
436
,
437
,
396
,
398
,
-
2
,
-
2
,
0
,
433
,
434
,
435
,
436
,
437
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
461
,
462
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
461
,
462
,
463
,
464
,
5
29
,
530
,
531
,
532
,
533
,
534
,
535
,
536
,
463
,
464
,
5
35
,
536
,
537
,
538
,
539
,
540
,
541
,
542
,
400
,
401
,
5
26
,
576
,
0
,
0
,
0
,
0
,
0
,
0
,
400
,
401
,
5
32
,
582
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
5
17
,
0
,
491
,
491
,
491
,
491
,
491
,
0
,
0
,
0
,
5
23
,
0
,
497
,
497
,
497
,
497
,
497
,
49
1
,
491
,
491
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
49
7
,
497
,
497
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
43
,
47
,
0
,
8
09
,
580
,
-
2
,
-
2
,
0
,
0
,
0
,
43
,
47
,
0
,
8
15
,
586
,
-
2
,
-
2
,
0
,
0
,
62
2
,
623
,
-
2
,
730
,
-
2
,
628
,
629
,
630
,
631
,
632
,
62
8
,
629
,
-
2
,
736
,
-
2
,
634
,
635
,
636
,
637
,
638
,
63
3
,
634
,
635
,
636
,
637
,
638
,
639
,
640
,
641
,
642
,
63
9
,
640
,
641
,
642
,
643
,
644
,
645
,
646
,
647
,
648
,
64
3
,
644
,
645
,
646
,
647
,
648
,
649
,
650
,
651
,
652
,
64
9
,
650
,
651
,
652
,
653
,
654
,
655
,
656
,
657
,
658
,
65
3
,
654
,
655
,
656
,
657
,
658
,
659
,
660
,
661
,
662
,
65
9
,
660
,
661
,
662
,
663
,
664
,
665
,
666
,
667
,
668
,
66
3
,
664
,
665
,
666
,
667
,
668
,
669
,
670
,
671
,
672
,
66
9
,
670
,
671
,
672
,
673
,
674
,
675
,
676
,
677
,
678
,
67
3
,
674
,
675
,
676
,
677
,
678
,
679
,
680
,
681
,
682
,
67
9
,
680
,
681
,
682
,
683
,
684
,
685
,
686
,
687
,
688
,
68
3
,
684
,
685
,
686
,
687
,
688
,
689
,
690
,
691
,
692
,
68
9
,
690
,
691
,
692
,
693
,
694
,
695
,
696
,
697
,
698
,
69
3
,
694
,
695
,
696
,
697
,
698
,
699
,
700
,
701
,
702
,
69
9
,
700
,
701
,
702
,
703
,
704
,
705
,
706
,
707
,
708
,
70
3
,
704
,
705
,
706
,
707
,
708
,
709
,
710
,
711
,
712
,
70
9
,
710
,
711
,
712
,
713
,
714
,
715
,
716
,
717
,
718
,
71
3
,
714
,
715
,
716
,
717
,
718
,
719
,
720
,
0
,
0
,
71
9
,
720
,
721
,
722
,
723
,
724
,
725
,
726
,
0
,
0
,
82
,
0
,
80
,
0
,
8
34
,
0
,
70
,
0
,
0
,
0
,
82
,
0
,
80
,
0
,
8
40
,
0
,
70
,
0
,
0
,
0
,
0
,
0
,
8
34
,
243
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
8
40
,
243
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
251
,
0
,
253
,
8
34
,
834
,
834
,
834
,
834
,
834
,
0
,
251
,
0
,
253
,
8
40
,
840
,
840
,
840
,
840
,
840
,
8
34
,
834
,
262
,
835
,
836
,
263
,
264
,
265
,
834
,
834
,
8
40
,
840
,
262
,
841
,
842
,
263
,
264
,
265
,
840
,
840
,
267
,
0
,
288
,
286
,
287
,
282
,
283
,
0
,
0
,
281
,
267
,
0
,
288
,
286
,
287
,
282
,
283
,
0
,
0
,
281
,
308
,
309
,
30
,
83
2
,
24
,
0
,
0
,
553
,
0
,
545
,
308
,
309
,
30
,
83
8
,
24
,
0
,
0
,
559
,
0
,
551
,
5
46
,
549
,
552
,
29
,
318
,
0
,
323
,
322
,
314
,
0
,
5
52
,
555
,
558
,
29
,
318
,
0
,
323
,
322
,
314
,
0
,
330
,
0
,
0
,
0
,
334
,
0
,
336
,
337
,
0
,
394
,
330
,
0
,
0
,
0
,
334
,
0
,
336
,
337
,
0
,
394
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
418
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
418
,
419
,
420
,
421
,
422
,
423
,
424
,
397
,
0
,
411
,
0
,
419
,
420
,
421
,
422
,
423
,
424
,
397
,
0
,
411
,
0
,
0
,
0
,
453
,
454
,
455
,
456
,
457
,
458
,
459
,
0
,
0
,
0
,
453
,
454
,
455
,
456
,
457
,
458
,
459
,
0
,
325
,
29
,
0
,
431
,
0
,
0
,
0
,
0
,
0
,
0
,
325
,
29
,
0
,
431
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
321
,
0
,
5
18
,
0
,
483
,
0
,
484
,
485
,
0
,
0
,
321
,
0
,
5
24
,
0
,
489
,
0
,
490
,
491
,
4
86
,
487
,
488
,
489
,
490
,
0
,
325
,
0
,
0
,
45
,
4
92
,
493
,
494
,
495
,
496
,
0
,
325
,
0
,
0
,
45
,
0
,
382
,
0
,
340
,
342
,
343
,
344
,
-
2
,
0
,
366
,
0
,
382
,
0
,
340
,
342
,
343
,
344
,
-
2
,
0
,
366
,
-
2
,
0
,
0
,
0
,
41
,
42
,
0
,
48
,
8
09
,
50
,
-
2
,
0
,
0
,
0
,
41
,
42
,
0
,
48
,
8
15
,
50
,
51
,
0
,
0
,
0
,
165
,
5
89
,
590
,
591
,
587
,
209
,
51
,
0
,
0
,
0
,
165
,
5
95
,
596
,
597
,
593
,
209
,
0
,
0
,
146
,
142
,
88
,
89
,
90
,
135
,
92
,
135
,
0
,
0
,
146
,
142
,
88
,
89
,
90
,
135
,
92
,
135
,
135
,
135
,
135
,
162
,
162
,
162
,
162
,
118
,
119
,
120
,
135
,
135
,
135
,
162
,
162
,
162
,
162
,
118
,
119
,
120
,
121
,
122
,
0
,
0
,
105
,
135
,
135
,
135
,
109
,
125
,
121
,
122
,
0
,
0
,
105
,
135
,
135
,
135
,
109
,
125
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
93
,
94
,
95
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
137
,
137
,
137
,
139
,
139
,
6
18
,
96
,
97
,
98
,
99
,
137
,
137
,
137
,
139
,
139
,
6
24
,
65
,
0
,
73
,
0
,
8
34
,
0
,
834
,
78
,
0
,
225
,
65
,
0
,
73
,
0
,
8
40
,
0
,
840
,
78
,
0
,
225
,
0
,
0
,
246
,
595
,
0
,
834
,
249
,
250
,
384
,
626
,
0
,
0
,
246
,
601
,
0
,
840
,
249
,
250
,
384
,
632
,
6
27
,
254
,
255
,
256
,
257
,
258
,
259
,
260
,
261
,
266
,
6
33
,
254
,
255
,
256
,
257
,
258
,
259
,
260
,
261
,
266
,
270
,
0
,
291
,
0
,
0
,
274
,
273
,
5
57
,
0
,
0
,
270
,
0
,
291
,
0
,
0
,
274
,
273
,
5
63
,
0
,
0
,
0
,
0
,
0
,
5
48
,
550
,
551
,
556
,
32
,
321
,
0
,
0
,
0
,
0
,
5
54
,
556
,
557
,
562
,
32
,
321
,
0
,
5
37
,
0
,
0
,
0
,
324
,
27
,
392
,
393
,
395
,
412
,
5
43
,
0
,
0
,
0
,
324
,
27
,
392
,
393
,
395
,
412
,
0
,
414
,
416
,
335
,
331
,
0
,
5
27
,
-
2
,
402
,
403
,
0
,
414
,
416
,
335
,
331
,
0
,
5
33
,
-
2
,
402
,
403
,
427
,
428
,
429
,
0
,
0
,
0
,
0
,
425
,
407
,
0
,
427
,
428
,
429
,
0
,
0
,
0
,
0
,
425
,
407
,
0
,
438
,
439
,
440
,
441
,
442
,
443
,
444
,
445
,
446
,
447
,
438
,
439
,
440
,
441
,
442
,
443
,
444
,
445
,
446
,
447
,
448
,
449
,
452
,
502
,
503
,
0
,
450
,
451
,
460
,
0
,
448
,
449
,
452
,
508
,
509
,
0
,
450
,
451
,
460
,
0
,
0
,
326
,
327
,
430
,
0
,
575
,
29
,
0
,
0
,
0
,
0
,
326
,
327
,
430
,
0
,
581
,
29
,
0
,
0
,
0
,
0
,
0
,
526
,
0
,
0
,
0
,
0
,
524
,
521
,
0
,
0
,
0
,
0
,
532
,
0
,
0
,
0
,
0
,
0
,
530
,
0
,
492
,
0
,
0
,
0
,
0
,
0
,
0
,
381
,
0
,
527
,
0
,
0
,
498
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
371
,
0
,
0
,
374
,
0
,
381
,
0
,
0
,
0
,
0
,
0
,
0
,
371
,
0
,
0
,
0
,
0
,
0
,
365
,
0
,
0
,
385
,
779
,
367
,
0
,
374
,
0
,
0
,
0
,
0
,
365
,
0
,
0
,
385
,
785
,
369
,
370
,
389
,
0
,
389
,
44
,
581
,
49
,
0
,
0
,
367
,
0
,
369
,
370
,
389
,
0
,
389
,
44
,
587
,
49
,
54
,
55
,
582
,
583
,
584
,
585
,
0
,
79
,
210
,
212
,
0
,
0
,
54
,
55
,
588
,
589
,
590
,
591
,
0
,
79
,
215
,
216
,
217
,
83
,
84
,
85
,
0
,
0
,
197
,
0
,
210
,
212
,
215
,
216
,
217
,
83
,
84
,
85
,
0
,
0
,
0
,
191
,
191
,
0
,
189
,
190
,
81
,
149
,
147
,
0
,
197
,
0
,
0
,
191
,
191
,
0
,
189
,
190
,
81
,
149
,
144
,
143
,
91
,
0
,
162
,
162
,
112
,
113
,
165
,
0
,
147
,
0
,
144
,
143
,
91
,
0
,
162
,
162
,
112
,
113
,
165
,
165
,
165
,
0
,
0
,
106
,
107
,
108
,
100
,
0
,
165
,
0
,
165
,
165
,
165
,
0
,
0
,
106
,
107
,
108
,
101
,
102
,
103
,
0
,
104
,
0
,
0
,
834
,
67
,
0
,
100
,
0
,
101
,
102
,
103
,
0
,
104
,
0
,
0
,
840
,
71
,
72
,
68
,
597
,
69
,
833
,
0
,
0
,
610
,
226
,
67
,
0
,
71
,
72
,
68
,
603
,
69
,
839
,
0
,
0
,
600
,
601
,
602
,
603
,
604
,
605
,
606
,
607
,
608
,
609
,
616
,
226
,
606
,
607
,
608
,
609
,
610
,
611
,
612
,
613
,
0
,
0
,
244
,
834
,
248
,
288
,
269
,
0
,
0
,
289
,
614
,
615
,
0
,
0
,
244
,
840
,
248
,
288
,
269
,
0
,
290
,
0
,
554
,
555
,
0
,
547
,
25
,
0
,
592
,
593
,
0
,
289
,
290
,
0
,
560
,
561
,
0
,
553
,
25
,
0
,
538
,
539
,
338
,
413
,
415
,
417
,
0
,
325
,
404
,
425
,
598
,
599
,
544
,
545
,
338
,
413
,
415
,
417
,
0
,
325
,
408
,
0
,
405
,
0
,
0
,
399
,
465
,
0
,
0
,
432
,
404
,
425
,
408
,
0
,
405
,
0
,
0
,
399
,
465
,
0
,
-
2
,
468
,
469
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
432
,
-
2
,
468
,
469
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
544
,
0
,
522
,
0
,
0
,
482
,
493
,
494
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
550
,
0
,
495
,
496
,
569
,
0
,
0
,
-
2
,
0
,
0
,
389
,
577
,
528
,
0
,
0
,
488
,
499
,
500
,
501
,
502
,
575
,
0
,
0
,
341
,
360
,
362
,
0
,
357
,
372
,
373
,
375
,
0
,
0
,
-
2
,
0
,
0
,
389
,
583
,
0
,
341
,
360
,
362
,
377
,
0
,
379
,
380
,
345
,
347
,
348
,
0
,
0
,
0
,
0
,
357
,
372
,
373
,
375
,
0
,
377
,
0
,
379
,
380
,
0
,
368
,
544
,
0
,
389
,
40
,
52
,
53
,
0
,
0
,
345
,
347
,
348
,
0
,
0
,
0
,
0
,
368
,
550
,
0
,
59
,
166
,
167
,
0
,
213
,
0
,
0
,
0
,
184
,
191
,
389
,
40
,
52
,
53
,
0
,
0
,
59
,
166
,
167
,
0
,
191
,
187
,
192
,
188
,
0
,
157
,
0
,
148
,
87
,
145
,
213
,
0
,
0
,
0
,
184
,
191
,
191
,
187
,
192
,
188
,
0
,
165
,
165
,
114
,
0
,
115
,
116
,
117
,
0
,
133
,
0
,
157
,
0
,
148
,
87
,
145
,
0
,
165
,
165
,
114
,
0
,
0
,
0
,
0
,
619
,
66
,
74
,
75
,
0
,
218
,
0
,
115
,
116
,
117
,
0
,
133
,
0
,
0
,
0
,
0
,
833
,
0
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
625
,
66
,
74
,
75
,
0
,
218
,
839
,
0
,
227
,
228
,
235
,
236
,
237
,
833
,
0
,
0
,
833
,
611
,
612
,
613
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
839
,
614
,
0
,
0
,
247
,
291
,
292
,
293
,
558
,
0
,
26
,
0
,
0
,
839
,
617
,
618
,
619
,
620
,
0
,
0
,
247
,
389
,
0
,
332
,
528
,
0
,
406
,
0
,
426
,
409
,
466
,
291
,
292
,
293
,
564
,
0
,
26
,
389
,
0
,
332
,
534
,
328
,
0
,
135
,
135
,
507
,
135
,
139
,
510
,
135
,
512
,
0
,
406
,
0
,
426
,
409
,
466
,
328
,
0
,
135
,
135
,
135
,
515
,
0
,
0
,
0
,
0
,
527
,
0
,
0
,
0
,
513
,
135
,
139
,
516
,
135
,
518
,
135
,
521
,
0
,
0
,
519
,
481
,
525
,
0
,
33
,
0
,
569
,
559
,
571
,
573
,
0
,
0
,
0
,
0
,
533
,
0
,
0
,
0
,
0
,
0
,
0
,
29
,
0
,
565
,
0
,
352
,
544
,
0
,
0
,
354
,
525
,
487
,
531
,
0
,
33
,
0
,
575
,
565
,
577
,
579
,
0
,
29
,
0
,
571
,
0
,
352
,
550
,
0
,
0
,
354
,
361
,
0
,
0
,
355
,
0
,
356
,
376
,
378
,
0
,
0
,
361
,
0
,
0
,
355
,
0
,
356
,
376
,
378
,
0
,
0
,
0
,
0
,
55
2
,
390
,
39
,
56
,
57
,
58
,
211
,
214
,
0
,
0
,
55
8
,
390
,
39
,
56
,
57
,
58
,
211
,
214
,
0
,
193
,
135
,
196
,
185
,
186
,
0
,
160
,
0
,
150
,
0
,
193
,
135
,
196
,
185
,
186
,
0
,
160
,
0
,
150
,
151
,
152
,
153
,
154
,
156
,
136
,
110
,
111
,
163
,
164
,
151
,
152
,
153
,
154
,
156
,
136
,
110
,
111
,
163
,
164
,
162
,
0
,
162
,
0
,
140
,
0
,
834
,
0
,
0
,
219
,
162
,
0
,
162
,
0
,
140
,
0
,
840
,
0
,
0
,
219
,
0
,
220
,
222
,
223
,
224
,
0
,
245
,
268
,
540
,
339
,
0
,
220
,
222
,
223
,
224
,
0
,
245
,
268
,
546
,
339
,
467
,
410
,
470
,
504
,
162
,
508
,
509
,
511
,
513
,
514
,
467
,
410
,
470
,
510
,
162
,
514
,
515
,
517
,
519
,
520
,
516
,
472
,
471
,
473
,
0
,
0
,
476
,
0
,
0
,
0
,
522
,
472
,
471
,
473
,
0
,
0
,
479
,
0
,
0
,
476
,
0
,
0
,
523
,
0
,
34
,
0
,
574
,
-
2
,
0
,
0
,
0
,
0
,
482
,
0
,
0
,
0
,
0
,
0
,
529
,
0
,
0
,
46
,
0
,
552
,
578
,
579
,
358
,
0
,
363
,
0
,
34
,
0
,
580
,
-
2
,
0
,
0
,
0
,
46
,
0
,
558
,
0
,
0
,
366
,
38
,
176
,
0
,
195
,
0
,
350
,
168
,
584
,
585
,
358
,
0
,
363
,
0
,
0
,
0
,
366
,
38
,
161
,
0
,
0
,
165
,
134
,
165
,
0
,
0
,
64
,
76
,
176
,
0
,
195
,
0
,
350
,
168
,
161
,
0
,
0
,
165
,
77
,
0
,
0
,
542
,
0
,
505
,
506
,
0
,
0
,
0
,
134
,
165
,
0
,
0
,
64
,
76
,
77
,
0
,
0
,
548
,
0
,
497
,
480
,
520
,
0
,
572
,
0
,
-
2
,
0
,
567
,
0
,
511
,
512
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
566
,
353
,
37
,
0
,
0
,
0
,
0
,
385
,
175
,
177
,
0
,
503
,
486
,
526
,
0
,
578
,
0
,
-
2
,
0
,
573
,
572
,
353
,
37
,
0
,
0
,
0
,
0
,
385
,
175
,
177
,
0
,
182
,
0
,
194
,
0
,
0
,
173
,
0
,
170
,
172
,
0
,
182
,
0
,
194
,
0
,
0
,
173
,
0
,
170
,
172
,
158
,
155
,
123
,
124
,
138
,
141
,
0
,
0
,
28
,
0
,
158
,
155
,
123
,
124
,
138
,
141
,
0
,
0
,
28
,
0
,
0
,
474
,
475
,
4
77
,
478
,
0
,
0
,
0
,
0
,
562
,
0
,
474
,
475
,
4
80
,
481
,
477
,
478
,
483
,
484
,
0
,
29
,
0
,
359
,
386
,
387
,
388
,
349
,
178
,
179
,
0
,
0
,
0
,
0
,
568
,
29
,
0
,
359
,
386
,
387
,
388
,
183
,
181
,
0
,
351
,
86
,
0
,
169
,
171
,
0
,
7
0
,
349
,
178
,
179
,
0
,
183
,
181
,
0
,
351
,
86
,
0
,
0
,
239
,
0
,
543
,
541
,
479
,
0
,
0
,
0
,
570
,
169
,
171
,
0
,
70
,
0
,
239
,
0
,
549
,
547
,
485
,
-
2
,
568
,
180
,
0
,
174
,
159
,
73
,
238
,
0
,
0
,
0
,
0
,
0
,
576
,
-
2
,
574
,
180
,
0
,
174
,
159
,
498
,
0
,
501
,
0
,
221
,
240
,
0
,
499
,
0
,
0
,
73
,
238
,
0
,
0
,
504
,
0
,
507
,
0
,
221
,
24
0
,
0
,
198
,
0
,
0
,
199
,
200
,
0
,
0
,
500
,
201
,
0
,
505
,
0
,
0
,
0
,
198
,
0
,
0
,
199
,
200
,
0
,
0
,
0
,
0
,
0
,
202
,
204
,
205
,
0
,
0
,
0
,
0
,
506
,
201
,
0
,
0
,
0
,
0
,
0
,
202
,
203
,
241
,
242
,
206
,
207
,
208
,
20
4
,
205
,
0
,
0
,
20
3
,
241
,
242
,
206
,
207
,
208
,
}
}
var
yyTok1
=
[
...
]
int
{
var
yyTok1
=
[
...
]
int
{
...
@@ -5579,346 +5651,382 @@ yydefault:
...
@@ -5579,346 +5651,382 @@ yydefault:
yyVAL
.
expr
=
&
SubstrExpr
{
Name
:
yyDollar
[
3
]
.
colName
,
From
:
yyDollar
[
5
]
.
expr
,
To
:
yyDollar
[
7
]
.
expr
}
yyVAL
.
expr
=
&
SubstrExpr
{
Name
:
yyDollar
[
3
]
.
colName
,
From
:
yyDollar
[
5
]
.
expr
,
To
:
yyDollar
[
7
]
.
expr
}
}
}
case
479
:
case
479
:
yyDollar
=
yyS
[
yypt
-
9
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
6
:
yypt
+
1
]
//line sql.y:2468
//line sql.y:2468
{
{
yyVAL
.
expr
=
&
MatchExpr
{
Columns
:
yyDollar
[
3
]
.
selectExprs
,
Expr
:
yyDollar
[
7
]
.
expr
,
Option
:
yyDollar
[
8
]
.
str
}
yyVAL
.
expr
=
&
SubstrExpr
{
StrVal
:
NewStrVal
(
yyDollar
[
3
]
.
bytes
),
From
:
yyDollar
[
5
]
.
expr
,
To
:
nil
}
}
}
case
480
:
case
480
:
yyDollar
=
yyS
[
yypt
-
7
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
8
:
yypt
+
1
]
//line sql.y:2472
//line sql.y:2472
{
{
yyVAL
.
expr
=
&
GroupConcatExpr
{
Distinct
:
yyDollar
[
3
]
.
str
,
Exprs
:
yyDollar
[
4
]
.
selectExprs
,
OrderBy
:
yyDollar
[
5
]
.
orderBy
,
Separator
:
yyDollar
[
6
]
.
st
r
}
yyVAL
.
expr
=
&
SubstrExpr
{
StrVal
:
NewStrVal
(
yyDollar
[
3
]
.
bytes
),
From
:
yyDollar
[
5
]
.
expr
,
To
:
yyDollar
[
7
]
.
exp
r
}
}
}
case
481
:
case
481
:
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
8
:
yypt
+
1
]
//line sql.y:2476
//line sql.y:2476
{
{
yyVAL
.
expr
=
&
CaseExpr
{
Expr
:
yyDollar
[
2
]
.
expr
,
Whens
:
yyDollar
[
3
]
.
whens
,
Else
:
yyDollar
[
4
]
.
expr
}
yyVAL
.
expr
=
&
SubstrExpr
{
StrVal
:
NewStrVal
(
yyDollar
[
3
]
.
bytes
),
From
:
yyDollar
[
5
]
.
expr
,
To
:
yyDollar
[
7
]
.
expr
}
}
}
case
482
:
case
482
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
6
:
yypt
+
1
]
//line sql.y:2480
//line sql.y:2480
{
{
yyVAL
.
expr
=
&
ValuesFuncExpr
{
Name
:
yyDollar
[
3
]
.
colName
}
yyVAL
.
expr
=
&
SubstrExpr
{
StrVal
:
NewStrVal
(
yyDollar
[
3
]
.
bytes
),
From
:
yyDollar
[
5
]
.
expr
,
To
:
nil
}
}
}
case
483
:
case
483
:
yyDollar
=
yyS
[
yypt
-
8
:
yypt
+
1
]
//line sql.y:2484
{
yyVAL
.
expr
=
&
SubstrExpr
{
StrVal
:
NewStrVal
(
yyDollar
[
3
]
.
bytes
),
From
:
yyDollar
[
5
]
.
expr
,
To
:
yyDollar
[
7
]
.
expr
}
}
case
484
:
yyDollar
=
yyS
[
yypt
-
8
:
yypt
+
1
]
//line sql.y:2488
{
yyVAL
.
expr
=
&
SubstrExpr
{
StrVal
:
NewStrVal
(
yyDollar
[
3
]
.
bytes
),
From
:
yyDollar
[
5
]
.
expr
,
To
:
yyDollar
[
7
]
.
expr
}
}
case
485
:
yyDollar
=
yyS
[
yypt
-
9
:
yypt
+
1
]
//line sql.y:2492
{
yyVAL
.
expr
=
&
MatchExpr
{
Columns
:
yyDollar
[
3
]
.
selectExprs
,
Expr
:
yyDollar
[
7
]
.
expr
,
Option
:
yyDollar
[
8
]
.
str
}
}
case
486
:
yyDollar
=
yyS
[
yypt
-
7
:
yypt
+
1
]
//line sql.y:2496
{
yyVAL
.
expr
=
&
GroupConcatExpr
{
Distinct
:
yyDollar
[
3
]
.
str
,
Exprs
:
yyDollar
[
4
]
.
selectExprs
,
OrderBy
:
yyDollar
[
5
]
.
orderBy
,
Separator
:
yyDollar
[
6
]
.
str
}
}
case
487
:
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
//line sql.y:2500
{
yyVAL
.
expr
=
&
CaseExpr
{
Expr
:
yyDollar
[
2
]
.
expr
,
Whens
:
yyDollar
[
3
]
.
whens
,
Else
:
yyDollar
[
4
]
.
expr
}
}
case
488
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:2504
{
yyVAL
.
expr
=
&
ValuesFuncExpr
{
Name
:
yyDollar
[
3
]
.
colName
}
}
case
489
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:2
490
//line sql.y:2
514
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"current_timestamp"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"current_timestamp"
)}
}
}
case
4
84
:
case
4
90
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:2
494
//line sql.y:2
518
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"utc_timestamp"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"utc_timestamp"
)}
}
}
case
4
85
:
case
4
91
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:2
498
//line sql.y:2
522
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"utc_time"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"utc_time"
)}
}
}
case
4
86
:
case
4
92
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:25
02
//line sql.y:25
26
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"utc_date"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"utc_date"
)}
}
}
case
4
87
:
case
4
93
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:25
07
//line sql.y:25
31
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"localtime"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"localtime"
)}
}
}
case
4
88
:
case
4
94
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:25
12
//line sql.y:25
36
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"localtimestamp"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"localtimestamp"
)}
}
}
case
4
89
:
case
4
95
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:25
17
//line sql.y:25
41
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"current_date"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"current_date"
)}
}
}
case
49
0
:
case
49
6
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:25
22
//line sql.y:25
46
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"current_time"
)}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"current_time"
)}
}
}
case
49
3
:
case
49
9
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:25
36
//line sql.y:25
60
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"if"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"if"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
}
}
case
494
:
case
500
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:25
40
//line sql.y:25
64
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"database"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"database"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
}
}
case
495
:
case
501
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:25
44
//line sql.y:25
68
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"mod"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"mod"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
}
}
case
496
:
case
502
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:25
48
//line sql.y:25
72
{
{
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"replace"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
yyVAL
.
expr
=
&
FuncExpr
{
Name
:
NewColIdent
(
"replace"
),
Exprs
:
yyDollar
[
3
]
.
selectExprs
}
}
}
case
497
:
case
503
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:25
54
//line sql.y:25
78
{
{
yyVAL
.
str
=
""
yyVAL
.
str
=
""
}
}
case
498
:
case
504
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:25
58
//line sql.y:25
82
{
{
yyVAL
.
str
=
BooleanModeStr
yyVAL
.
str
=
BooleanModeStr
}
}
case
499
:
case
505
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:25
62
//line sql.y:25
86
{
{
yyVAL
.
str
=
NaturalLanguageModeStr
yyVAL
.
str
=
NaturalLanguageModeStr
}
}
case
50
0
:
case
50
6
:
yyDollar
=
yyS
[
yypt
-
7
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
7
:
yypt
+
1
]
//line sql.y:25
66
//line sql.y:25
90
{
{
yyVAL
.
str
=
NaturalLanguageModeWithQueryExpansionStr
yyVAL
.
str
=
NaturalLanguageModeWithQueryExpansionStr
}
}
case
50
1
:
case
50
7
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:25
70
//line sql.y:25
94
{
{
yyVAL
.
str
=
QueryExpansionStr
yyVAL
.
str
=
QueryExpansionStr
}
}
case
50
2
:
case
50
8
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
576
//line sql.y:2
600
{
{
yyVAL
.
str
=
string
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
str
=
string
(
yyDollar
[
1
]
.
bytes
)
}
}
case
50
3
:
case
50
9
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
580
//line sql.y:2
604
{
{
yyVAL
.
str
=
string
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
str
=
string
(
yyDollar
[
1
]
.
bytes
)
}
}
case
5
04
:
case
5
10
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:2
586
//line sql.y:2
610
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
}
}
case
5
05
:
case
5
11
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:2
590
//line sql.y:2
614
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
,
Charset
:
yyDollar
[
3
]
.
str
,
Operator
:
CharacterSetStr
}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
,
Charset
:
yyDollar
[
3
]
.
str
,
Operator
:
CharacterSetStr
}
}
}
case
5
06
:
case
5
12
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:2
594
//line sql.y:2
618
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
,
Charset
:
string
(
yyDollar
[
3
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
,
Charset
:
string
(
yyDollar
[
3
]
.
bytes
)}
}
}
case
5
07
:
case
5
13
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
598
//line sql.y:2
622
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
}
}
case
5
08
:
case
5
14
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
02
//line sql.y:26
26
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
}
}
case
5
09
:
case
5
15
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
06
//line sql.y:26
30
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
.
Length
=
yyDollar
[
2
]
.
LengthScaleOption
.
Length
yyVAL
.
convertType
.
Length
=
yyDollar
[
2
]
.
LengthScaleOption
.
Length
yyVAL
.
convertType
.
Scale
=
yyDollar
[
2
]
.
LengthScaleOption
.
Scale
yyVAL
.
convertType
.
Scale
=
yyDollar
[
2
]
.
LengthScaleOption
.
Scale
}
}
case
51
0
:
case
51
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:26
12
//line sql.y:26
36
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
}
}
case
51
1
:
case
51
7
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
16
//line sql.y:26
40
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
}
}
case
51
2
:
case
51
8
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:26
20
//line sql.y:26
44
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
}
}
case
51
3
:
case
51
9
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
24
//line sql.y:26
48
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
}
}
case
5
14
:
case
5
20
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
28
//line sql.y:26
52
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
),
Length
:
yyDollar
[
2
]
.
optVal
}
}
}
case
5
15
:
case
5
21
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:26
32
//line sql.y:26
56
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
}
}
case
5
16
:
case
5
22
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
36
//line sql.y:26
60
{
{
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
yyVAL
.
convertType
=
&
ConvertType
{
Type
:
string
(
yyDollar
[
1
]
.
bytes
)}
}
}
case
5
17
:
case
5
23
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:26
41
//line sql.y:26
65
{
{
yyVAL
.
expr
=
nil
yyVAL
.
expr
=
nil
}
}
case
5
18
:
case
5
24
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:26
45
//line sql.y:26
69
{
{
yyVAL
.
expr
=
yyDollar
[
1
]
.
expr
yyVAL
.
expr
=
yyDollar
[
1
]
.
expr
}
}
case
5
19
:
case
5
25
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:26
50
//line sql.y:26
74
{
{
yyVAL
.
str
=
string
(
""
)
yyVAL
.
str
=
string
(
""
)
}
}
case
52
0
:
case
52
6
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
54
//line sql.y:26
78
{
{
yyVAL
.
str
=
" separator '"
+
string
(
yyDollar
[
2
]
.
bytes
)
+
"'"
yyVAL
.
str
=
" separator '"
+
string
(
yyDollar
[
2
]
.
bytes
)
+
"'"
}
}
case
52
1
:
case
52
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:26
60
//line sql.y:26
84
{
{
yyVAL
.
whens
=
[]
*
When
{
yyDollar
[
1
]
.
when
}
yyVAL
.
whens
=
[]
*
When
{
yyDollar
[
1
]
.
when
}
}
}
case
52
2
:
case
52
8
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:26
64
//line sql.y:26
88
{
{
yyVAL
.
whens
=
append
(
yyDollar
[
1
]
.
whens
,
yyDollar
[
2
]
.
when
)
yyVAL
.
whens
=
append
(
yyDollar
[
1
]
.
whens
,
yyDollar
[
2
]
.
when
)
}
}
case
52
3
:
case
52
9
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:26
70
//line sql.y:26
94
{
{
yyVAL
.
when
=
&
When
{
Cond
:
yyDollar
[
2
]
.
expr
,
Val
:
yyDollar
[
4
]
.
expr
}
yyVAL
.
when
=
&
When
{
Cond
:
yyDollar
[
2
]
.
expr
,
Val
:
yyDollar
[
4
]
.
expr
}
}
}
case
5
24
:
case
5
30
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:26
75
//line sql.y:26
99
{
{
yyVAL
.
expr
=
nil
yyVAL
.
expr
=
nil
}
}
case
5
25
:
case
5
31
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:2
679
//line sql.y:2
703
{
{
yyVAL
.
expr
=
yyDollar
[
2
]
.
expr
yyVAL
.
expr
=
yyDollar
[
2
]
.
expr
}
}
case
5
26
:
case
5
32
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
685
//line sql.y:2
709
{
{
yyVAL
.
colName
=
&
ColName
{
Name
:
yyDollar
[
1
]
.
colIdent
}
yyVAL
.
colName
=
&
ColName
{
Name
:
yyDollar
[
1
]
.
colIdent
}
}
}
case
5
27
:
case
5
33
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:2
689
//line sql.y:2
713
{
{
yyVAL
.
colName
=
&
ColName
{
Qualifier
:
TableName
{
Name
:
yyDollar
[
1
]
.
tableIdent
},
Name
:
yyDollar
[
3
]
.
colIdent
}
yyVAL
.
colName
=
&
ColName
{
Qualifier
:
TableName
{
Name
:
yyDollar
[
1
]
.
tableIdent
},
Name
:
yyDollar
[
3
]
.
colIdent
}
}
}
case
5
28
:
case
5
34
:
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
//line sql.y:2
693
//line sql.y:2
717
{
{
yyVAL
.
colName
=
&
ColName
{
Qualifier
:
TableName
{
Qualifier
:
yyDollar
[
1
]
.
tableIdent
,
Name
:
yyDollar
[
3
]
.
tableIdent
},
Name
:
yyDollar
[
5
]
.
colIdent
}
yyVAL
.
colName
=
&
ColName
{
Qualifier
:
TableName
{
Qualifier
:
yyDollar
[
1
]
.
tableIdent
,
Name
:
yyDollar
[
3
]
.
tableIdent
},
Name
:
yyDollar
[
5
]
.
colIdent
}
}
}
case
5
29
:
case
5
35
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
699
//line sql.y:2
723
{
{
yyVAL
.
expr
=
NewStrVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewStrVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
53
0
:
case
53
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
03
//line sql.y:27
27
{
{
yyVAL
.
expr
=
NewHexVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewHexVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
53
1
:
case
53
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
07
//line sql.y:27
31
{
{
yyVAL
.
expr
=
NewBitVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewBitVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
53
2
:
case
53
8
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
11
//line sql.y:27
35
{
{
yyVAL
.
expr
=
NewIntVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewIntVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
53
3
:
case
53
9
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
15
//line sql.y:27
39
{
{
yyVAL
.
expr
=
NewFloatVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewFloatVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
5
34
:
case
5
40
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
19
//line sql.y:27
43
{
{
yyVAL
.
expr
=
NewHexNum
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewHexNum
(
yyDollar
[
1
]
.
bytes
)
}
}
case
5
35
:
case
5
41
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
23
//line sql.y:27
47
{
{
yyVAL
.
expr
=
NewValArg
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewValArg
(
yyDollar
[
1
]
.
bytes
)
}
}
case
5
36
:
case
5
42
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
27
//line sql.y:27
51
{
{
yyVAL
.
expr
=
&
NullVal
{}
yyVAL
.
expr
=
&
NullVal
{}
}
}
case
5
37
:
case
5
43
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:27
33
//line sql.y:27
57
{
{
// TODO(sougou): Deprecate this construct.
// TODO(sougou): Deprecate this construct.
if
yyDollar
[
1
]
.
colIdent
.
Lowered
()
!=
"value"
{
if
yyDollar
[
1
]
.
colIdent
.
Lowered
()
!=
"value"
{
...
@@ -5927,239 +6035,239 @@ yydefault:
...
@@ -5927,239 +6035,239 @@ yydefault:
}
}
yyVAL
.
expr
=
NewIntVal
([]
byte
(
"1"
))
yyVAL
.
expr
=
NewIntVal
([]
byte
(
"1"
))
}
}
case
5
38
:
case
5
44
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:27
42
//line sql.y:27
66
{
{
yyVAL
.
expr
=
NewIntVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewIntVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
5
39
:
case
5
45
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:27
46
//line sql.y:27
70
{
{
yyVAL
.
expr
=
NewValArg
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewValArg
(
yyDollar
[
1
]
.
bytes
)
}
}
case
54
0
:
case
54
6
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:27
51
//line sql.y:27
75
{
{
yyVAL
.
exprs
=
nil
yyVAL
.
exprs
=
nil
}
}
case
54
1
:
case
54
7
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:27
55
//line sql.y:27
79
{
{
yyVAL
.
exprs
=
yyDollar
[
3
]
.
exprs
yyVAL
.
exprs
=
yyDollar
[
3
]
.
exprs
}
}
case
54
2
:
case
54
8
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:27
60
//line sql.y:27
84
{
{
yyVAL
.
expr
=
nil
yyVAL
.
expr
=
nil
}
}
case
54
3
:
case
54
9
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:27
64
//line sql.y:27
88
{
{
yyVAL
.
expr
=
yyDollar
[
2
]
.
expr
yyVAL
.
expr
=
yyDollar
[
2
]
.
expr
}
}
case
5
44
:
case
5
50
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:27
69
//line sql.y:27
93
{
{
yyVAL
.
orderBy
=
nil
yyVAL
.
orderBy
=
nil
}
}
case
5
45
:
case
5
51
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:27
73
//line sql.y:27
97
{
{
yyVAL
.
orderBy
=
yyDollar
[
3
]
.
orderBy
yyVAL
.
orderBy
=
yyDollar
[
3
]
.
orderBy
}
}
case
5
46
:
case
5
52
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
779
//line sql.y:2
803
{
{
yyVAL
.
orderBy
=
OrderBy
{
yyDollar
[
1
]
.
order
}
yyVAL
.
orderBy
=
OrderBy
{
yyDollar
[
1
]
.
order
}
}
}
case
5
47
:
case
5
53
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:2
783
//line sql.y:2
807
{
{
yyVAL
.
orderBy
=
append
(
yyDollar
[
1
]
.
orderBy
,
yyDollar
[
3
]
.
order
)
yyVAL
.
orderBy
=
append
(
yyDollar
[
1
]
.
orderBy
,
yyDollar
[
3
]
.
order
)
}
}
case
5
48
:
case
5
54
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:2
789
//line sql.y:2
813
{
{
yyVAL
.
order
=
&
Order
{
Expr
:
yyDollar
[
1
]
.
expr
,
Direction
:
yyDollar
[
2
]
.
str
}
yyVAL
.
order
=
&
Order
{
Expr
:
yyDollar
[
1
]
.
expr
,
Direction
:
yyDollar
[
2
]
.
str
}
}
}
case
5
49
:
case
5
55
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:2
794
//line sql.y:2
818
{
{
yyVAL
.
str
=
AscScr
yyVAL
.
str
=
AscScr
}
}
case
55
0
:
case
55
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:2
798
//line sql.y:2
822
{
{
yyVAL
.
str
=
AscScr
yyVAL
.
str
=
AscScr
}
}
case
55
1
:
case
55
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:28
02
//line sql.y:28
26
{
{
yyVAL
.
str
=
DescScr
yyVAL
.
str
=
DescScr
}
}
case
55
2
:
case
55
8
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:28
07
//line sql.y:28
31
{
{
yyVAL
.
limit
=
nil
yyVAL
.
limit
=
nil
}
}
case
55
3
:
case
55
9
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:28
11
//line sql.y:28
35
{
{
yyVAL
.
limit
=
&
Limit
{
Rowcount
:
yyDollar
[
2
]
.
expr
}
yyVAL
.
limit
=
&
Limit
{
Rowcount
:
yyDollar
[
2
]
.
expr
}
}
}
case
5
54
:
case
5
60
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:28
15
//line sql.y:28
39
{
{
yyVAL
.
limit
=
&
Limit
{
Offset
:
yyDollar
[
2
]
.
expr
,
Rowcount
:
yyDollar
[
4
]
.
expr
}
yyVAL
.
limit
=
&
Limit
{
Offset
:
yyDollar
[
2
]
.
expr
,
Rowcount
:
yyDollar
[
4
]
.
expr
}
}
}
case
5
55
:
case
5
61
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:28
19
//line sql.y:28
43
{
{
yyVAL
.
limit
=
&
Limit
{
Offset
:
yyDollar
[
4
]
.
expr
,
Rowcount
:
yyDollar
[
2
]
.
expr
}
yyVAL
.
limit
=
&
Limit
{
Offset
:
yyDollar
[
4
]
.
expr
,
Rowcount
:
yyDollar
[
2
]
.
expr
}
}
}
case
5
56
:
case
5
62
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:28
24
//line sql.y:28
48
{
{
yyVAL
.
str
=
""
yyVAL
.
str
=
""
}
}
case
5
57
:
case
5
63
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:28
28
//line sql.y:28
52
{
{
yyVAL
.
str
=
ForUpdateStr
yyVAL
.
str
=
ForUpdateStr
}
}
case
5
58
:
case
5
64
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:28
32
//line sql.y:28
56
{
{
yyVAL
.
str
=
ShareModeStr
yyVAL
.
str
=
ShareModeStr
}
}
case
5
59
:
case
5
65
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:28
45
//line sql.y:28
69
{
{
yyVAL
.
ins
=
&
Insert
{
Rows
:
yyDollar
[
2
]
.
values
}
yyVAL
.
ins
=
&
Insert
{
Rows
:
yyDollar
[
2
]
.
values
}
}
}
case
56
0
:
case
56
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:28
49
//line sql.y:28
73
{
{
yyVAL
.
ins
=
&
Insert
{
Rows
:
yyDollar
[
1
]
.
selStmt
}
yyVAL
.
ins
=
&
Insert
{
Rows
:
yyDollar
[
1
]
.
selStmt
}
}
}
case
56
1
:
case
56
7
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:28
53
//line sql.y:28
77
{
{
// Drop the redundant parenthesis.
// Drop the redundant parenthesis.
yyVAL
.
ins
=
&
Insert
{
Rows
:
yyDollar
[
2
]
.
selStmt
}
yyVAL
.
ins
=
&
Insert
{
Rows
:
yyDollar
[
2
]
.
selStmt
}
}
}
case
56
2
:
case
56
8
:
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
//line sql.y:28
58
//line sql.y:28
82
{
{
yyVAL
.
ins
=
&
Insert
{
Columns
:
yyDollar
[
2
]
.
columns
,
Rows
:
yyDollar
[
5
]
.
values
}
yyVAL
.
ins
=
&
Insert
{
Columns
:
yyDollar
[
2
]
.
columns
,
Rows
:
yyDollar
[
5
]
.
values
}
}
}
case
56
3
:
case
56
9
:
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
4
:
yypt
+
1
]
//line sql.y:28
62
//line sql.y:28
86
{
{
yyVAL
.
ins
=
&
Insert
{
Columns
:
yyDollar
[
2
]
.
columns
,
Rows
:
yyDollar
[
4
]
.
selStmt
}
yyVAL
.
ins
=
&
Insert
{
Columns
:
yyDollar
[
2
]
.
columns
,
Rows
:
yyDollar
[
4
]
.
selStmt
}
}
}
case
5
64
:
case
5
70
:
yyDollar
=
yyS
[
yypt
-
6
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
6
:
yypt
+
1
]
//line sql.y:28
66
//line sql.y:28
90
{
{
// Drop the redundant parenthesis.
// Drop the redundant parenthesis.
yyVAL
.
ins
=
&
Insert
{
Columns
:
yyDollar
[
2
]
.
columns
,
Rows
:
yyDollar
[
5
]
.
selStmt
}
yyVAL
.
ins
=
&
Insert
{
Columns
:
yyDollar
[
2
]
.
columns
,
Rows
:
yyDollar
[
5
]
.
selStmt
}
}
}
case
5
65
:
case
5
71
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:28
73
//line sql.y:28
97
{
{
yyVAL
.
columns
=
Columns
{
yyDollar
[
1
]
.
colIdent
}
yyVAL
.
columns
=
Columns
{
yyDollar
[
1
]
.
colIdent
}
}
}
case
5
66
:
case
5
72
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:2
877
//line sql.y:2
901
{
{
yyVAL
.
columns
=
Columns
{
yyDollar
[
3
]
.
colIdent
}
yyVAL
.
columns
=
Columns
{
yyDollar
[
3
]
.
colIdent
}
}
}
case
5
67
:
case
5
73
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:2
881
//line sql.y:2
905
{
{
yyVAL
.
columns
=
append
(
yyVAL
.
columns
,
yyDollar
[
3
]
.
colIdent
)
yyVAL
.
columns
=
append
(
yyVAL
.
columns
,
yyDollar
[
3
]
.
colIdent
)
}
}
case
5
68
:
case
5
74
:
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
//line sql.y:2
885
//line sql.y:2
909
{
{
yyVAL
.
columns
=
append
(
yyVAL
.
columns
,
yyDollar
[
5
]
.
colIdent
)
yyVAL
.
columns
=
append
(
yyVAL
.
columns
,
yyDollar
[
5
]
.
colIdent
)
}
}
case
5
69
:
case
5
75
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:2
890
//line sql.y:2
914
{
{
yyVAL
.
updateExprs
=
nil
yyVAL
.
updateExprs
=
nil
}
}
case
57
0
:
case
57
6
:
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
5
:
yypt
+
1
]
//line sql.y:2
894
//line sql.y:2
918
{
{
yyVAL
.
updateExprs
=
yyDollar
[
5
]
.
updateExprs
yyVAL
.
updateExprs
=
yyDollar
[
5
]
.
updateExprs
}
}
case
57
1
:
case
57
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:29
00
//line sql.y:29
24
{
{
yyVAL
.
values
=
Values
{
yyDollar
[
1
]
.
valTuple
}
yyVAL
.
values
=
Values
{
yyDollar
[
1
]
.
valTuple
}
}
}
case
57
2
:
case
57
8
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
04
//line sql.y:29
28
{
{
yyVAL
.
values
=
append
(
yyDollar
[
1
]
.
values
,
yyDollar
[
3
]
.
valTuple
)
yyVAL
.
values
=
append
(
yyDollar
[
1
]
.
values
,
yyDollar
[
3
]
.
valTuple
)
}
}
case
57
3
:
case
57
9
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:29
10
//line sql.y:29
34
{
{
yyVAL
.
valTuple
=
yyDollar
[
1
]
.
valTuple
yyVAL
.
valTuple
=
yyDollar
[
1
]
.
valTuple
}
}
case
5
74
:
case
5
80
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:29
14
//line sql.y:29
38
{
{
yyVAL
.
valTuple
=
ValTuple
{}
yyVAL
.
valTuple
=
ValTuple
{}
}
}
case
5
75
:
case
5
81
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
20
//line sql.y:29
44
{
{
yyVAL
.
valTuple
=
ValTuple
(
yyDollar
[
2
]
.
exprs
)
yyVAL
.
valTuple
=
ValTuple
(
yyDollar
[
2
]
.
exprs
)
}
}
case
5
76
:
case
5
82
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:29
26
//line sql.y:29
50
{
{
if
len
(
yyDollar
[
1
]
.
valTuple
)
==
1
{
if
len
(
yyDollar
[
1
]
.
valTuple
)
==
1
{
yyVAL
.
expr
=
&
ParenExpr
{
yyDollar
[
1
]
.
valTuple
[
0
]}
yyVAL
.
expr
=
&
ParenExpr
{
yyDollar
[
1
]
.
valTuple
[
0
]}
...
@@ -6167,312 +6275,312 @@ yydefault:
...
@@ -6167,312 +6275,312 @@ yydefault:
yyVAL
.
expr
=
yyDollar
[
1
]
.
valTuple
yyVAL
.
expr
=
yyDollar
[
1
]
.
valTuple
}
}
}
}
case
5
77
:
case
5
83
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:29
36
//line sql.y:29
60
{
{
yyVAL
.
updateExprs
=
UpdateExprs
{
yyDollar
[
1
]
.
updateExpr
}
yyVAL
.
updateExprs
=
UpdateExprs
{
yyDollar
[
1
]
.
updateExpr
}
}
}
case
5
78
:
case
5
84
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
40
//line sql.y:29
64
{
{
yyVAL
.
updateExprs
=
append
(
yyDollar
[
1
]
.
updateExprs
,
yyDollar
[
3
]
.
updateExpr
)
yyVAL
.
updateExprs
=
append
(
yyDollar
[
1
]
.
updateExprs
,
yyDollar
[
3
]
.
updateExpr
)
}
}
case
5
79
:
case
5
85
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
46
//line sql.y:29
70
{
{
yyVAL
.
updateExpr
=
&
UpdateExpr
{
Name
:
yyDollar
[
1
]
.
colName
,
Expr
:
yyDollar
[
3
]
.
expr
}
yyVAL
.
updateExpr
=
&
UpdateExpr
{
Name
:
yyDollar
[
1
]
.
colName
,
Expr
:
yyDollar
[
3
]
.
expr
}
}
}
case
58
0
:
case
58
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:29
52
//line sql.y:29
76
{
{
yyVAL
.
setExprs
=
SetExprs
{
yyDollar
[
1
]
.
setExpr
}
yyVAL
.
setExprs
=
SetExprs
{
yyDollar
[
1
]
.
setExpr
}
}
}
case
58
1
:
case
58
7
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
56
//line sql.y:29
80
{
{
yyVAL
.
setExprs
=
append
(
yyDollar
[
1
]
.
setExprs
,
yyDollar
[
3
]
.
setExpr
)
yyVAL
.
setExprs
=
append
(
yyDollar
[
1
]
.
setExprs
,
yyDollar
[
3
]
.
setExpr
)
}
}
case
58
2
:
case
58
8
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
62
//line sql.y:29
86
{
{
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
yyDollar
[
1
]
.
colIdent
,
Expr
:
NewStrVal
([]
byte
(
"on"
))}
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
yyDollar
[
1
]
.
colIdent
,
Expr
:
NewStrVal
([]
byte
(
"on"
))}
}
}
case
58
3
:
case
58
9
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
66
//line sql.y:29
90
{
{
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
yyDollar
[
1
]
.
colIdent
,
Expr
:
NewStrVal
([]
byte
(
"off"
))}
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
yyDollar
[
1
]
.
colIdent
,
Expr
:
NewStrVal
([]
byte
(
"off"
))}
}
}
case
5
84
:
case
5
90
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
70
//line sql.y:29
94
{
{
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
yyDollar
[
1
]
.
colIdent
,
Expr
:
yyDollar
[
3
]
.
expr
}
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
yyDollar
[
1
]
.
colIdent
,
Expr
:
yyDollar
[
3
]
.
expr
}
}
}
case
5
85
:
case
5
91
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:29
74
//line sql.y:29
98
{
{
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
)),
Expr
:
yyDollar
[
2
]
.
expr
}
yyVAL
.
setExpr
=
&
SetExpr
{
Name
:
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
)),
Expr
:
yyDollar
[
2
]
.
expr
}
}
}
case
5
87
:
case
5
93
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:
2981
//line sql.y:
3005
{
{
yyVAL
.
bytes
=
[]
byte
(
"charset"
)
yyVAL
.
bytes
=
[]
byte
(
"charset"
)
}
}
case
5
89
:
case
5
95
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:
2988
//line sql.y:
3012
{
{
yyVAL
.
expr
=
NewStrVal
([]
byte
(
yyDollar
[
1
]
.
colIdent
.
String
()))
yyVAL
.
expr
=
NewStrVal
([]
byte
(
yyDollar
[
1
]
.
colIdent
.
String
()))
}
}
case
59
0
:
case
59
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:
2992
//line sql.y:
3016
{
{
yyVAL
.
expr
=
NewStrVal
(
yyDollar
[
1
]
.
bytes
)
yyVAL
.
expr
=
NewStrVal
(
yyDollar
[
1
]
.
bytes
)
}
}
case
59
1
:
case
59
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:
2996
//line sql.y:
3020
{
{
yyVAL
.
expr
=
&
Default
{}
yyVAL
.
expr
=
&
Default
{}
}
}
case
594
:
case
600
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:30
05
//line sql.y:30
29
{
{
yyVAL
.
byt
=
0
yyVAL
.
byt
=
0
}
}
case
595
:
case
601
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:30
07
//line sql.y:30
31
{
{
yyVAL
.
byt
=
1
yyVAL
.
byt
=
1
}
}
case
596
:
case
602
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:30
10
//line sql.y:30
34
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
597
:
case
603
:
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
3
:
yypt
+
1
]
//line sql.y:30
12
//line sql.y:30
36
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
598
:
case
604
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:30
15
//line sql.y:30
39
{
{
yyVAL
.
str
=
""
yyVAL
.
str
=
""
}
}
case
599
:
case
605
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
17
//line sql.y:30
41
{
{
yyVAL
.
str
=
IgnoreStr
yyVAL
.
str
=
IgnoreStr
}
}
case
60
0
:
case
60
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
21
//line sql.y:30
45
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
60
1
:
case
60
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
23
//line sql.y:30
47
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
60
2
:
case
60
8
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
25
//line sql.y:30
49
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
60
3
:
case
60
9
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
27
//line sql.y:30
51
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
04
:
case
6
10
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
29
//line sql.y:30
53
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
05
:
case
6
11
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
31
//line sql.y:30
55
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
06
:
case
6
12
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
33
//line sql.y:30
57
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
07
:
case
6
13
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
35
//line sql.y:30
59
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
08
:
case
6
14
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
37
//line sql.y:30
61
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
09
:
case
6
15
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
39
//line sql.y:30
63
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
61
0
:
case
61
6
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:30
42
//line sql.y:30
66
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
61
1
:
case
61
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
44
//line sql.y:30
68
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
61
2
:
case
61
8
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
46
//line sql.y:30
70
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
61
3
:
case
61
9
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
50
//line sql.y:30
74
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
14
:
case
6
20
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
52
//line sql.y:30
76
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
15
:
case
6
21
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:30
55
//line sql.y:30
79
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
16
:
case
6
22
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
57
//line sql.y:30
81
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
17
:
case
6
23
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
59
//line sql.y:30
83
{
{
yyVAL
.
empty
=
struct
{}{}
yyVAL
.
empty
=
struct
{}{}
}
}
case
6
18
:
case
6
24
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:30
62
//line sql.y:30
86
{
{
yyVAL
.
colIdent
=
ColIdent
{}
yyVAL
.
colIdent
=
ColIdent
{}
}
}
case
6
19
:
case
6
25
:
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
2
:
yypt
+
1
]
//line sql.y:30
64
//line sql.y:30
88
{
{
yyVAL
.
colIdent
=
yyDollar
[
2
]
.
colIdent
yyVAL
.
colIdent
=
yyDollar
[
2
]
.
colIdent
}
}
case
62
0
:
case
62
6
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
68
//line sql.y:30
92
{
{
yyVAL
.
colIdent
=
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
yyVAL
.
colIdent
=
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
}
}
case
62
1
:
case
62
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:30
72
//line sql.y:30
96
{
{
yyVAL
.
colIdent
=
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
yyVAL
.
colIdent
=
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
}
}
case
62
3
:
case
62
9
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:3
079
//line sql.y:3
103
{
{
yyVAL
.
colIdent
=
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
yyVAL
.
colIdent
=
NewColIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
}
}
case
6
24
:
case
6
30
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:3
085
//line sql.y:3
109
{
{
yyVAL
.
tableIdent
=
NewTableIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
yyVAL
.
tableIdent
=
NewTableIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
}
}
case
6
25
:
case
6
31
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:3
089
//line sql.y:3
113
{
{
yyVAL
.
tableIdent
=
NewTableIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
yyVAL
.
tableIdent
=
NewTableIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
}
}
case
6
27
:
case
6
33
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:3
096
//line sql.y:3
120
{
{
yyVAL
.
tableIdent
=
NewTableIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
yyVAL
.
tableIdent
=
NewTableIdent
(
string
(
yyDollar
[
1
]
.
bytes
))
}
}
case
83
1
:
case
83
7
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:33
25
//line sql.y:33
49
{
{
if
incNesting
(
yylex
)
{
if
incNesting
(
yylex
)
{
yylex
.
Error
(
"max nesting level reached"
)
yylex
.
Error
(
"max nesting level reached"
)
return
1
return
1
}
}
}
}
case
83
2
:
case
83
8
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:33
34
//line sql.y:33
58
{
{
decNesting
(
yylex
)
decNesting
(
yylex
)
}
}
case
83
3
:
case
83
9
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:33
39
//line sql.y:33
63
{
{
skipToEnd
(
yylex
)
skipToEnd
(
yylex
)
}
}
case
8
34
:
case
8
40
:
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
0
:
yypt
+
1
]
//line sql.y:33
44
//line sql.y:33
68
{
{
skipToEnd
(
yylex
)
skipToEnd
(
yylex
)
}
}
case
8
35
:
case
8
41
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:33
48
//line sql.y:33
72
{
{
skipToEnd
(
yylex
)
skipToEnd
(
yylex
)
}
}
case
8
36
:
case
8
42
:
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
yyDollar
=
yyS
[
yypt
-
1
:
yypt
+
1
]
//line sql.y:33
52
//line sql.y:33
76
{
{
skipToEnd
(
yylex
)
skipToEnd
(
yylex
)
}
}
...
...
vendor/vitess.io/vitess/go/vt/sqlparser/sql.y
浏览文件 @
11f1bc33
...
@@ -2464,6 +2464,30 @@ function_call_keyword:
...
@@ -2464,6 +2464,30 @@ function_call_keyword:
{
{
$$ = &SubstrExpr{Name: $3, From: $5, To: $7}
$$ = &SubstrExpr{Name: $3, From: $5, To: $7}
}
}
| SUBSTR openb STRING '
,
' value_expression closeb
{
$$ = &SubstrExpr{StrVal: NewStrVal($3), From: $5, To: nil}
}
| SUBSTR openb STRING '
,
' value_expression '
,
' value_expression closeb
{
$$ = &SubstrExpr{StrVal: NewStrVal($3), From: $5, To: $7}
}
| SUBSTR openb STRING FROM value_expression FOR value_expression closeb
{
$$ = &SubstrExpr{StrVal: NewStrVal($3), From: $5, To: $7}
}
| SUBSTRING openb STRING '
,
' value_expression closeb
{
$$ = &SubstrExpr{StrVal: NewStrVal($3), From: $5, To: nil}
}
| SUBSTRING openb STRING '
,
' value_expression '
,
' value_expression closeb
{
$$ = &SubstrExpr{StrVal: NewStrVal($3), From: $5, To: $7}
}
| SUBSTRING openb STRING FROM value_expression FOR value_expression closeb
{
$$ = &SubstrExpr{StrVal: NewStrVal($3), From: $5, To: $7}
}
| MATCH openb select_expression_list closeb AGAINST openb value_expression match_option closeb
| MATCH openb select_expression_list closeb AGAINST openb value_expression match_option closeb
{
{
$$ = &MatchExpr{Columns: $3, Expr: $7, Option: $8}
$$ = &MatchExpr{Columns: $3, Expr: $7, Option: $8}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录