?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
.
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
;
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
.
40
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
;
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
?
?
?
?
?
?
?
?
?
:
?
?
?
,
?
?
?
?
?
?
?
!
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
!
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
20
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8
?
?
?
?
.
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
?
?
?
?
?
?
!
»