?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
4
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3
?
?
?
?
?
?
:
?
1
,
?
?
?
2
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
1
)
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
,
?
?
?
?
?
?
?
=
?
?
?
?
?
?
?
?
)
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
?
?
?
=
?
?
?
?
?
?
)
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
)
.
?
?
?
?
?
?
,
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
-
?
?
?
?
?
?
?
?
?
)
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
23
?
?
?
?
,
?
?
?
?
?
?
?
____________________
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
46
?
?
?
?
?
?
?
?
?
,
?
?
?
____________________
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
)
.
?
?
2
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
-
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
4
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
2
?
)
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2
?
?
?
?
?
!
?
?
?
?
?
?
?
?
?
?
?
?
.
.
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
"
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
"
-
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
)
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
"
?
?
?
?
?
?
?
?
"
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
.
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
?
?
?
?
?
?
)
.
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
2
?
?
?
?
?
?
?
?
?
46
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(
?
?
?
?
?
?
?
?
?
)
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
,
____________________
?
?
?
?
?
?
?
.