!C!C !C!C
!C!C !C!C
!C!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C
!C
!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C
!C
!C!C!C!C!C
!C!C
!C
!C
!C !C!C
!C!C
!C !C!C !C!C!C!C!C!C!C !C!C !C!C !C!C
!C!C !C!C !C!C!C !C!C
!C!C !C!C !C
!C!C !C!C !C!C!C !C!C!C!C!C!C!C!C !C!C!C !C!C !C!C !C !C!C!C !C!C
!C!C!C !C!C
!C!C !C!C !C
!C !C!C!C!C !C!C!C !C!C !C!C !C!C !C!C!C !C!C!C !C!C!C !C !C !C
!C!C !C !C!C !C!C !C !C!C!C
!C
!C!C!C!C
!C!C
!C!C
!C!C
!C!C!C
!C!C
!C!C!C!C!C!C!C!C
!C!C
!C!C!C!C
!C!C
!C!C
!C
!C
!C
!C!C
!C!C!C
!C
!C!C!C
!C
!C
!C
!C!C!C!C
!C!C
!C!C!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C!C!C
!C
!C!C
!C!C
!C!C
!C
!C
!C!C
!C
!C
!C
!C !C!C!C!C !C!C!C!C
!C
!C!C!C!C!C!C
!C
!C!C!C!C!C
!C!C!C
!C!C!C
!C!C!C
!C
!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C!C!C
!C!C
!C
!C
!C!C
!C!C
!C
!C !C!C!C
!C
!C!C!C !C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C !C!C!C!C!C !C!C
!C !C
!C !C !C!C !C!C!C!C!C !C
!C!C !C!C!C !C
!C!C
!C !C!C !C!C
!C!C !C!C!C
!C !C!C !C
!C!C!C !C !C!C !C!C !C!C !C!C
!C !C!C !C!C!C !C!C!C!C!C!C!C!C
!C!C!C!C!C !C!C !C
!C!C!C !C
!C!C !C !C!C!C!C!C
!C!C
!C!C!C !C!C!C!C !C!C!C!C!C!C
!C !C!C !C!C
!C!C
!C !C
!C !C!C!C
!C!C!C
!C!C
!C
!C!C!C!C
!C
!C
!C !C
!C !C
!C
!C!C
!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C
!C!C
!C!C
!C
!C !C !C!C
!C!C
!C
!C
!C!C!C!C
!C
!C
!C!C!C
!C!C
!C!C
!C!C!C!C!C!C!C!C
!C!C
!C!C!C
!C!C !C
!C!C !C!C !C
!C!C
!C!C!C
!C
!C!C
!C
!C!C
!C!C
!C!C!C!C!C!C
!C
!C!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C
!C!C!C!C
!C
!C
!C
!C
!C!C!C!C
!C
!C!C!C
!C
!C!C!C!C!C!C!C!C
!C!C!C
!C!C!C!C
!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C !C
!C
!C
!C
!C!C
!C!C
!C
!C
!C
!C!C
!C
!C!C!C
!C !C
!C
!C!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C !C!C
!C
!C
!C
!C
!C!C
!C!C
!C
!C
!C
!C!C
!C
!C
!C
!C !C!C !C !C!C!C !C!C
!C
!C!C!C
!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C !C
!C!C
!C
!C
!C!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C!C!C!C
!C!C!C
!C!C
!C
!C!C!C!C !C!C!C!C!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C !C
!C
!C
!C!C
!C
!C!C
!C!C
!C!C
!C
!C!C
!C!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C !C!C
!C
!C!C!C!C!C
!C !C!C!C
!C
!C
!C!C
!C
!C !C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C !C
!C
!C
!C!C!C!C
!C!C
!C!C!C!C!C
!C!C !C!C!C!C
!C!C!C !C!C !C!C!C!C!C !C!C!C
!C!C!C!C !C !C
!C!C !C !C!C!C!C!C
!C!C!C!C
!C!C !C!C!C!C!C!C!C !C!C!C!C !C
!C!C
!C !C!C!C!C
!C !C
!C!C !C!C!C
!C!C!C
!C!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C!C
!C!C!C
!C
!C!C
!C!C!C
!C!C
!C !C
!C!C
!C!C !C
!C!C
!C
!C!C!C!C!C!C
!C
!C!C
!C
!C!C!C !C!C!C !C !C!C !C !C !C!C!C !C!C
!C!C!C!C!C
!C!C!C!C
!C!C
!C
!C!C
!C
!C!C!C
!C!C!C!C
!C
!C
!C!C!C
!C
!C!C
!C !C!C!C!C!C
!C !C
!C
!C
!C!C!C!C
!C!C!C!C!C!C!C
!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C!C
!C !C !C!C!C !C
!C
!C
!C
!C
!C
!C!C!C!C!C!C!C
!C
!C
!C!C!C !C!C!C!C!C!C
!C!C !C
!C !C!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C !C!C!C!C
!C!C!C
!C!C
!C!C
!C!C
!C!C!C!C
!C!C
!C!C!C
!C!C!C!C!C
!C!C!C!C!C!C
!C!C!C
!C!C
!C
!C
!C!C
!C!C!C!C!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C!C!C!C
!C!C!C!C!C!C!C
!C!C!C!C
!C!C
!C!C
!C
!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C
!C!C
!C!C!C!C!C!C
!C!C!C
!C!C!C!C!C
!C!C!C!C!C!C!C!C!C!C
!C!C!C!C!C!C
!C!C!C!C
!C!C!C!C
!C!C!C
!C!C
!C
!C!C!C!C!C!C!C!C
!C!C
!C!C!C
!C!C
!C
!C!C!C!C!C!C
!C!C
!C!C
!C
!C
!C
!C!C!C!C!C!C!C!C!C!C
!C!C
!C!C
!C!C!C
!C
!C
!C!C!C
!C
!C!C !C!C!C
!C
!C!C
!C
!C
!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C
!C!C
!C!C!C!C!C!C!C!C
!C!C
!C!C!C
!C!C!C!C!C!C
!C!C
!C!C!C!C!C!C!C
!C
!C
!C!C
!C!C!C!C
!C
!C!C!C!C!C
!C!C
!C
!C!C!C!C
!C
!C
!C
!C!C!C!C
!C
!C
!C
!C
!C!C
!C
!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C
!C
!C!C!C!C
!C!C!C
!C
!C!C!C
!C
!C !C!C!C!C
!C
!C
!C
!C !C!C
!C!C
!C
!C !C!C
!C !C
!C
!C!C !C
!C
!C!C !C!C!C
!C!C
!C!C
!C
!C!C
!C!C
!C!C!C!C!C!C
!C!C
!C
!C!C
!C!C!C!C!C
!C
!C!C!C
!C
!C!C
!C
!C!C
!C
!C
!C!C
!C
!C!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C
!C
!C!C
!C!C
!C
!C
!C!C!C!C!C
!C
!C
!C!C
!C
!C!C!C!C
!C
!C!C!C!C!C!C!C
!C
!C
!C!C
!C!C
!C !C
!C !C
!C
!C
!C!C!C
!C !C!C!C !C
!C
!C
!C
!C!C
!C
!C
!C
!C!C!C
!C
!C
!C!C
!C
!C
!C
!C
!C!C
!C
!C
!C!C!C
!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C !C
!C!C!C!C
!C
!C!C
!C
!C
!C
!C!C!C!C!C!C
!C
!C!C
!C
!C
!C
!C!C
!C!C
!C
!C
!C
!C
!C!C
!C!C!C!C
!C
!C!C
!C
!C
!C!C!C!C
!C!C!C!C!C!C!C!C!C!C !C
!C!C!C
!C
!C
!C
!C
!C
!C!C
!C!C!C!C!C
!C!C!C
!C
!C
!C
!C!C!C
!C
!C
!C!C !C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C !C
!C!C!C!C!C!C!C!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C!C
!C!C!C!C
!C
!C
!C
!C
!C
!C!C!C
!C!C!C
!C!C
!C
!C!C!C !C
!C!C
!C!C!C !C !C!C
!C !C!C!C
!C
!C !C
!C!C
!C
!C
!C
!C
!C
!C
!C!C!C!C
!C!C!C!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C!C!C!C!C
!C!C!C!C
!C
!C !C
!C
!C!C
!C
!C
!C!C !C
!C
!C
!C
!C
!C !C!C
!C!C
!C
!C!C !C!C
!C!C
!C!C!C!C!C!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C!C
!C
!C
!C
!C!C!C!C!C!C!C
!C
!C
!C
!C!C
!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C!C!C
!C
!C
!C
!C!C
!C!C
!C
!C!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C !C
!C
!C
!C
!C
!C
!C!C!C!C
!C
!C
!C
!C
!C
!C
!C!C!C!C
!C!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C!C!C!C
!C!C!C
!C!C!C!C!C!C
!C
!C!C
!C
!C
!C
!C
!C!C
!C!C
!C!C
!C
!C !C
!C!C!C
!C !C!C
!C
!C!C
!C!C
!C
!C
!C!C
!C
!C
!C!C
!C!C!C
!C
!C
!C!C !C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C!C!C!C!C!C!C!C
!C
!C
!C
!C!C !C!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C!C
!C
!C
!C!C
!C
!C!C
!C!C
!C!C!C!C!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C !C
!C !C!C!C
!C
!C
!C
!C
!C!C!C
!C!C!C!C
!C
!C
!C!C
!C
!C!C
!C
!C
!C
!C
!C!C!C
!C
!C!C
!C
!C !C
!C!C
!C!C!C!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C
!C
!C
!C!C
!C!C!C
!C!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C!C!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C !C!C!C !C!C!C
!C!C!C!C
!C!C!C
!C!C
!C!C !C!C
!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C !C!C
!C!C
!C
!C
!C!C
!C!C
!C!C!C
!C
!C
!C!C!C
!C
!C!C
!C!C!C !C
!C!C
!C !C!C!C!C!C!C!C!C!C
!C
!C
!C
!C
!C!C
!C!C
!C
!C
!C
!C
!C!C!C !C
!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C !C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C
!C!C !C
!C!C
!C!C
!C !C !C
!C !C
!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C!C
!C
!C !C!C !C !C!C !C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C!C!C
!C!C
!C!C!C
!C!C!C!C
!C!C!C!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C!C!C!C!C!C!C !C
!C!C!C!C
!C
!C
!C
!C!C!C!C!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C!C
!C
!C
!C !C
!C
!C
!C!C
!C
!C!C
!C!C
!C!C
!C
!C
!C
!C
!C !C
!C
!C
!C
!C
!C
!C
!C
!C
!C !C
!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C!C!C!C!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C
!C
!C
!C
!C !C
!C!C
!C
!C!C !C!C
!C !C!C!C
!C
!C
!C!C!C!C!C!C!C
!C
!C
!C!C
!C!C!C
!C!C!C!C!C!C!C
!C
!C
!C!C!C!C
!C!C
!C
!C!C!C!C!C
!C!C
!C
!C
!C
!C
!C
!C!C!C
!C!C!C!C!C
!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C !C
!C!C!C!C
!C!C
!C!C!C!C
!C
!C!C!C!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C !C!C
!C
!C
!C
!C !C!C
!C
!C
!C
!C!C
!C!C
!C
!C !C
!C!C
!C
!C !C!C!C
!C
!C
!C
!C
!C!C !C
!C
!C!C
!C
!C!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C!C !C!C!C!C!C!C!C !C
!C !C!C
!C
!C
!C!C
!C
!C!C
!C!C
!C
!C
!C!C
!C
!C!C
!C
!C
!C
!C!C!C!C!C!C
!C
!C
!C!C!C!C
!C!C!C
!C
!C
!C
!C
!C
!C !C
!C
!C
!C!C
!C !C
!C!C!C
!C
!C!C
!C!C
!C!C
!C
!C
!C
!C!C
!C
!C!C
!C !C!C
!C
!C !C
!C
!C
!C!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C!C
!C
!C!C!C!C
!C
!C
!C!C
!C!C
!C
!C
!C!C!C!C !C
!C
!C!C!C!C
!C
!C !C!C!C!C!C!C!C!C!C!C !C!C !C!C!C !C!C
!C!C !C !C!C
!C
!C
!C!C
!C
!C!C
!C
!C!C!C
!C
!C
!C!C
!C
!C
!C
!C!C!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C!C
!C
!C
!C!C!C
!C
!C!C
!C!C!C
!C!C
!C
!C
!C
!C!C!C
!C!C
!C!C
!C
!C!C!C!C
!C
!C
!C
!C
!C
!C
!C!C
!C!C
!C!C
!C!C
!C
!C!C!C!C!C
!C!C!C
!C
!C
!C!C!C
!C !C!C!C !C !C
!C!C
!C!C
!C!C
!C!C!C !C!C
!C
!C!C!C!C!C!C!C!C!C!C !C
!C
!C!C!C
!C!C
!C
!C
!C
!C!C
!C
!C!C
!C
!C !C!C!C!C
!C!C
!C
!C
!C!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C!C!C!C
!C
!C
!C!C!C!C
!C!C!C
!C
!C
!C!C!C!C!C!C
!C
!C
!C
!C
!C
!C!C
!C!C
!C !C
!C
!C
!C!C!C
!C!C!C
!C
!C!C !C
!C
!C
!C!C!C!C
!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C !C
!C
!C
!C!C!C
!C!C!C
!C
!C!C
!C
!C !C!C
!C!C
!C
!C!C !C!C
!C!C!C !C
!C
!C
!C
!C!C!C
!C!C
!C
!C
!C!C!C!C!C!C
!C
!C!C!C!C!C!C!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C!C
!C!C!C
!C
!C
!C!C
!C
!C
!C
!C
!C!C
!C
!C!C
!C
!C!C!C!C!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C!C
!C!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C!C
!C
!C!C
!C
!C !C!C!C !C
!C!C
!C
!C
!C
!C
!C!C
!C
!C!C!C!C
!C
!C !C!C
!C
!C
!C
!C
!C
!C!C
!C!C
!C
!C!C
!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C!C!C
!C!C!C!C
!C!C
!C
!C
!C!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C
!C!C!C
!C !C
!C!C !C!C!C!C
!C!C
!C
!C
!C !C
!C
!C
!C
!C
!C!C!C !C!C!C
!C!C
!C
!C!C!C!C!C!C!C
!C
!C
!C
!C!C
!C
!C
!C!C
!C
!C!C
!C !C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C!C!C
!C!C!C
!C
!C!C!C
!C!C!C!C!C!C!C!C!C!C!C!C!C !C!C
!C
!C
!C!C!C!C
!C
!C
!C
!C
!C
!C!C!C !C !C
!C!C !C!C!C
!C
!C!C
!C
!C
!C
!C
!C!C !C!C
!C
!C !C!C
!C
!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C !C
!C
!C
!C!C
!C!C
!C
!C
!C
!C!C
!C
!C!C!C!C!C!C!C!C
!C
!C!C!C!C!C!C!C!C!C!C!C
!C
!C!C
!C!C!C!C
!C
!C
!C!C!C!C!C!C!C!C
!C!C!C!C!C
!C
!C
!C!C
!C
!C!C
!C!C!C!C
!C!C!C!C!C!C!C
!C!C
!C!C!C
!C
!C
!C
!C!C!C!C!C
!C
!C!C!C!C!C
!C!C!C
!C!C!C!C!C
!C
!C!C!C!C!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C
!C!C
!C
!C
!C
!C
!C
!C!C
!C!C
!C !C
!C!C
!C
!C
!C!C
!C!C
!C
!C!C!C
!C
!C!C!C!C
!C
!C
!C!C!C!C
!C
!C
!C!C
!C
!C
!C
!C!C
!C
!C!C!C
!C!C
!C!C!C!C
!C
!C
!C!C!C
!C!C!C!C
!C
!C!C!C!C!C
!C!C
!C
!C!C
!C!C
!C
!C
!C
!C!C!C
!C
!C
!C
!C!C
!C
!C
!C!C
!C!C!C!C
!C!C
!C!C!C
!C!C!C!C
!C
!C
!C!C
!C
!C !C!C!C
!C!C
!C
!C
!C
!C!C!C!C!C
!C!C!C
!C
!C
!C!C
!C!C !C!C!C!C!C!C!C!C
!C
!C
!C!C
!C
!C!C!C
!C!C!C!C
!C!C!C
!C
!C!C
!C
!C
!C
!C
!C!C
!C!C!C !C
!C!C!C !C!C!C
!C!C
!C!C!C!C!C!C!C!C!C!C
!C
!C!C!C
!C!C
!C!C!C!C
!C
!C
!C!C!C
!C
!C
!C
!C
!C!C
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
##
#
#
#
###
#
# #
##
##
##
#
#
###
##
#
#
#
##
#
##
##
#
#
###
#
##
#
##
#
# #
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
##
#
#
#
##
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
## #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#### #
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
## #
#
#
##
##
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
##
#
##
#
##
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
##
#
#
#
###
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
###
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
##
# # #
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
###
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
## #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ## #
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# # #
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
# #
#
#
#
##
##
#
#
#
#
#
##
#
#
###
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
# #
##
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
# ##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
###
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
###
# #
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
## ###
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
## #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
# ##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
# #
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
# ##
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
##
# #
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
###
#
#
#
#
####
#
#
#
#
#
#
# #
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
# ##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
###
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
## #
# ##
##
#
##
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# ##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
# #
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
# ###
#
###
##
#
####
#
#
#
##
#
#
#
##
##
#
##
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
##
##
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# ##
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
###
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
# #
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
# ##
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
# #
##
###
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
# ##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
##
#
##
#
#
#
####
##
#
#
#
#
#
##
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
# #
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## ##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
###
# ##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
##
#
#
##
#
#
# #
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
# ##
#
#
##
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^^
^
^ ^
^
^^
^
^
^
^
^^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^ ^
^
^
^
^
^
^ ^
^^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^ ^
^
^
^
^
^
^
^
^
^
^
^
^
^
^^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
$
$
$
$
$
$
$
$$
$
ñ
ñ
ñ
ñ
ñ
ñ
ñ
ñ
ñ
ñ
ññ
ñ
ñ
ñ
ñ
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!. !.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!. !.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!. !.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.!.
!.
!.
!.
!.!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!. !.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
!.
KlipvoorDam
Rust deWinter Dam
PremierMine Dam
BronkhorstspruitSub District
EkangalaMain Seat
Krugersdorp Main Seat
CullinanSub District
PretoriaNorth
Main Seat
SoshanguveSub District
AtteridgevilleSub District
TembaMain Seat
MamelodiSub District
BritsMainSeat
Pretoria CentralMainSeat
GaRankuwaSub
District
BEDWANGSAPS
BOSCHKOPSAPS
CULLINANSAPS
DENNILTONSAPS
DUBESAPS
EKANGALASAPS
HERCULESSAPS
JERICHOSAPS
KWAGGAFONTEINSAPS
KWAMHLANGASAPS
LOATESAPS
MAKAPANSTADSAPS
MARBLEHALLSAPS
PIENAARSRIVIERSAPS
RIETGATSAPS
RUST DEWINTER
SAPS
SIYABUSWASAPS
TEMBASAPS
TWEEFONTEINSAPS
VAALBANKSAPS
VERENASAPS
VOSMANSAPS
WITBANKSAPS
NdzundzaSokhulumi
NdzundzaMabhoko
Banwana
BAKGATLABA MMAKAU
BAHWADUBA
KLIPDRIFT252
INDERMINNE113
ROOIBANK89
147
HARTBEESTFONTEIN441
ENKELDOORN217
HARTBEESTSPRUIT281
KALKFONTEIN42
BOVENEINDGROENFONTEIN
126
COMO235
BEZUIDENHOUTSKRAAL166
SPRINGBOKVLAKTE41
GRASPAN37
KAP111
BOSCHRUST52
RHENOSTERKOP157
APIESDORING78
VAALBOSCH38
KUMNANDI67
TURFPAN24
JR707
743
TURFLAAGTE35
DE KUIL28
77IRRIGASIE69
MIDDELKOPJE33
PRINSLOOSRUS100
BLOEMPOORT39
KLIPRAND76
7474
74
DE WITSKRAAL86
GRUISPAN16
ZAAGKUILDRIFT46
MANTSOLE40
VAALBOSCH38
KLIPRAND76 BUFFELSDRIFT
179
ZONDAGSFONTEIN32
KROKODILSPRUIT290
NOOITGEDACHT87
VAALPLAAS463
RUST DERWINTER
178
WITBLITS613
UITVLUGT709
UITVAL48
RHENOSTERVALEI47
DE WITSKRAAL68
TAAIFONTEIN461
RONDEFONTEIN84
UITVLUGT79
NOOITGEDACHT300
675
KOEDOEBOS159
WITLAAGTE173
WELVERDIEND249 LEEUWFONTEIN
228
OOG VAN BOEKENHOUTSKLOOFOF TWEEFONTEIN
288
GROOTSPRUIT455
KLIPDRIFT116 233
HAAKDOORNLAAGTE277
RIEKERTSLAAGER
165
DROOGEGROND169
VOGELSTRUISPLAAT232
RIETFONTEIN214
DOORNFONTEIN291
MINNAAR292
MELKHOUTFONTEIN183
RHENOSTERFONTEIN210
DOORNKOP245
BEYNESPOORT335
RENBAAN117
KWAMHLANGA617
WITGATBOOM63
TOGO82
PIENAARSRIVIER83
VISSERSHOEK435
KALBASFONTEIN284
WOLVENKRAAL192
KRANSPOORT ALIASBLACKWOOD CAMP
255
BLAAUWPOORT257
PAPKUILFONTEIN469
PIETERSKRAAL190
KAALLAAGTE122
LEEUWFONTEIN188
KWARSSPRUIT261
KAFFERSKRAAL308
MALOEK-ZYN-KOP58
ELANDSHOEK337
UITVAL494
TRIGAARDSPOORT451
KROMDRAAI115
FLINK ZYNDRIFT
169
176
SYFERPAN53
ONSPOED500
BOEKENHOUTHOEK61
VAALBANK511
VLAKFONTEIN457
651
593
RIETRIEM618
DROOGVELD438DOWNBERN
594
ZWARTFONTEIN89
BEZUIDENHOUTSKRAAL96
DE PUTTEN4
ZILKAATSNEK439
BOEKENHOUTFONTEIN198
GROENFONTEIN125
BUFFELSDRIFT281
LEEUWKLOOF285
RHENOSTERKOP452
KLIPFONTEIN205
ALLEMANSKRAAL164
ZWARTKOPJE444
VALSCHSPRUIT458
RHENOSTERFONTEIN227
PYLPUNT276
BOEKENHOUTSKLOOFDRIFT286
147
WOLVENKOP227
KOSMOS282
RIETFONTEIN470
BELLA-VISTA560
EKANGALA610
BEDWANA5
KLIPSPRUIT245
ROOIPOORT440
162
KRANSPOORT448
HARTEBEESTFONTEIN123
GROOTVALLEI258
RIETVALEI185
SYBRANDSKRAAL244
RIETFONTEIN446
VRISCHGEWAAGD226 RHENOSTERKUIL
63
ROODEPOORT439
KLEINWATER301
ZANDSPRUIT189
MURRAYHILL275
SONSKYN242
WYNRUIT168
SCHIETFONTEIN437
STERKWATER106
LEEUWFONTEIN248
SCHIETPOORT507
HARTEBEESTFONTEIN224
ZACHSEDAM632
RIETVLEI518
BREYTENBACHSRUS64
YZERVARKFONTEIN467
GROENFONTEIN120
KLIPFONTEIN256
RIETFONTEIN90
KROMDRAAI279
ENGELSCHEDOORNBOOM95
STROOMWATER96
FAIRFIELD238
HAAKDOORNBULT49
177
GOEDGEWAAGD60
VLEILAND 1634
SUIKERBOSCHPLAAT438
GELUK276
TAMBOOTIEPAN75BULTFONTEIN
178
DOORNKRAAL420
38
PAARDEFONTEIN282
WORSTAL97
DOORNFONTEIN98
646
680800
LANGKLOOF229
KLIPDRIFT155
ROOIKOP181 LEEUWKRAAL
184
965DE TWEEDESPRUIT
418
ONVERWACHT509
KLIPPAN29
LEEUWKRAAL50
BOOYZYN KRAAL
254
BUFFELSHOEK91
KLIPPLAATDRIFT43
WOLFHUISKRAAL45
RONDEFONTEIN663
JR732
WALKRAAL35
NEBO99
BRANDBACH471
RUST DERWINTER
180
688
BIESJESKUIL134
HARTEBEESTSPRUIT434
RIVULET253
SPITSRAND430
SUIKERBOSCHKOP278
GROENVALLEI233
ROODEKUIL179
RHENOSTERVALEI47RHENOSTERDRIFT
172
WITGATBOOM65
SERYBULT232
KOEDOESPOORT174
TROYA151
VREEMDELING65
671
KLIPPAN21
WOLVENGAT442
HARTEBEESTPOORT C419 ROOIWAL
270
WILDEBEESTHOEK310
LEEUWKOP228
WOLVENGATEN255
DOORNNEK88
WASCHBANK497
HAAKDOORNBULT49
SUIKERBOSCHPLAAT263
LEEUWPOORT283
237
CORONATION280
LEEUWFONTEIN212
VAARWATER-KRANS260
MODDERFONTEIN490
ELANDSFONTEIN493
WELGEVONDEN124
PRINSANNA
234
BOSCHBULT432
645
DOORNKLOOF481
221BRAKFONTEIN
200
ONVERWACHT424
ROODEPOORTJE250
KLIPPOORT277ROOIKOPJES
483
HARTEBEESTFONTEIN484
HARTBEESTFONTEIN93
ZONKOLOL473
KWAGGAFONTEIN216
WITBLITS613
WATERVAL230
248
VREDE304
BROEDERSTROOM481
VANDYKSPRUIT
431
ZAAIHOEK260
LOOPSPRUIT435
KAALFONTEIN513
429NOOITGEDACHT
436
712
ZUSTERSHOEK246
ARMOED462
ROODEPOORT259
BOEKENHOUTSKLOOF284
KLIPDRIFT121
SPRINGFONTEIN213
KLIPPLAATDRIFT239
HAAKDOORNFONTEIN119
GEMSBOKFONTEIN231BOEKENHOUTKLOOF
129
DOORNKRAAL425
RIETVALLEI231
BLESBOKFONTEIN459
LOUWSBAKEN476
SPITSKOP502
KLOPPERSDAM187
SPITSKOP533
FIROLAZ485
ZAAGKUILFONTEIN204
NAAUWPOORT208
KROMDRAAI209
WITFONTEIN510
HARTBEESTFONTEIN240
CHRISTIAANSRUS182
561
HOUTENBEK194
SIMPKINSVALE59
BULTFONTEIN174
417
JAKKALSDANS243
SILVERHILL253
Brits
DamonsvilleDe Kron
mineZilkaatsEstate
Mothutlung
Makau
Moumong Mapetla
Emalahleni NU
Kameelpoort
Moretele NU
RuigteslootDe Grens Little
OlvertonBolantlokwe DipetlelwaneUtsane
Agisaneng
Tlholwe Tlounane
Sutelong
Ga-Habedi LekgoloKontante
DikebuMoema
Motsheko
Tladistad
Jonathan
ThulweDikgopaneng Prieska
Makapanstad One andTen
Norokie GreenSide
HaniView
DihibidungMathibestadMathibestad
RDPDertigRamaphosaDannhouse
Bosplaas AH Ramotse
RabosulaLebalangwe
Swartdamstad Ratjiepane
MmakaunyanaMogogelo
MmotlaTshwene
FarmGa-Monama
BorakalaloNature
Reserve
Madibeng NU
MagaliesbergNature Reserve
Mankgekgetha
Ga-Moti
BuffelsdoornMoiletswane
Dipompong
Madinyane
MabolokaLethlabile G
LetlhabileLethlabile B
Lethlabile ERabokala
Ramogaodi
Masoga
KlipgatA
ErasmusNtsopilo
Rankotia
Botshabelo Mabopane MMabopane Unit C
Mabopane N
Pretoria
Tshwara
Ana AH
Hartebeespoort IfafiXanadu
Eco ParkMeerhofPecanwood
Estate
PelindabaIndustrial
MogaleCity NU
BosplaasMathabe
MashemongMajaneng Ramotse
KekanaGarden
MarokolongTembaUnit 1
SekampanengSuurmanDilopye
Stinkwater
Stinkwater BStinkwater C
StinkwaterD
NewEersterusTswaing
NatureReserve
ChrisHani Soshanguve W
Soshanguve MM
SoshanguveSouth Ext 3
Klipfontein
Winterveld AH
WinterveldExt 1
SlovoMabopane
MandelaVillage
Bultfontein AH
WallmannsthalArmy Base
Wallmannsthal SHRoodeplaat SH
RoodeplaatDam Nature
Reserve
Waterval AHHaakdoornboom
AH Honingnestkrans SHBon
Accord AH
Tshwane NU
Doornkraal SHOnverwacht
Ga-RankuwaView
Ga-Rankuwa
Medunsa
GaRankuwaUnit 20
Sokhulumi
KameelfonteinSH
LeeufonteinEstate
Derdepoort AH
Eastwood
MamelodiExt 14
EersterustExt 6
FundusAH
Hornsoord AH
Montana
LadySelborne
MountainView Mayville Waverley East
LynneKameeldrift SH
SwacinaPark AHKrauseville SH
LeokaVilla AH
Rietondale
Kirkney KilnerPark
Lynnwood Equestria SilverLakes Golf
EstateShere
SH
Hillcrest DieWilgers
Newlands
MoreletaPark
RosslynIndustrialRosslyn
The OrchardsTheresaparkChantelle
Amandasig
Refilwe
Rayton SH
Rayton
Donkerhoek SH
Mooiplaas SH
Nellmapius
EkangalaSection BEkandustria
Rethabiseng
Valhalla
Clubview
Zithobeni RoodepoortSH
Vaalbank AH
Keinfontein SHKleinfontein
SHBoschkop SH
Zwavelpoort AHRiamar park
MasadaPaxtonFerrobankeMpumelelweni
Thembisile NU
Goederede A
Goederede BBoekenhouthoek
KwaggafonteinA
Kwaggafontein CKwaggafontein B
Kwaggafontein F
Kwaggafontein E
Klipfontein
Die BronVakansiedorp
Tweefontein CTweefontein D
Tweefontein ATweefontein-la
Somaroboro-E
Vlaaklaagte CcKameelpoortnekKameelpoortnek ALeratong Enkeldoornoog A
Enkeldoornoog BEnkeldoornoog C
Zakheni PholaParkEnkeldoorn
ZustershoekKwaMhlanga B
Gemsbokspruit
Hoedspruit
Moloto Verena D
Verena A
WolfenkopSehlakwana
Dr JSMoroka NU
SenotleloDihekeng RamokgeletsaneSemohlase
Mmamethlake
NokanengMakgareng
DierefengMoletji
Loding Mapoch Siyabuswa A
Siyabuswa EPhaala
MakometsaneAllemansdrift C
Allemansdrift DAllemansdrift BAllemansdrift A
Vaalbank
Kameelrivier BKameelrivier A
WolwekraalRatlhagana
NewStands
Rankaile
MasobjeMantlole Waterval
A
MarothobolongMatshiding
Magola
Morwe
Leeufontein A
Leeufontein CLeeufontein B
Pieterskraal A
MotetiMdalaNature
ReserveBela-Bela NU
KalkheuwelMine Rust De
WinterPienaarsrivier
MarbleHall NU
Mamaneng SH
EliasMotsoaledi NUKgobokwane
KgapamadiWaalkraal Lehwelere
GaMatlalaNaganeng
StompoMogomane Mpheleng
MagakadimengLusaka FiveMorgan
ThearengMoteti B
MotetiWitfontein
DitshegoTen
MorganDennilton
Phooko
ElandsdoringC
Phookwane
UitspanningB
Uitspanning A
MarapongMadibengMadibengMagisterialMagisterial
DistrictDistrict
MoreteleMoreteleMagisterialMagisterial
DistrictDistrict
Tshwane EastTshwane EastMagisterialMagisterial
DistrictDistrict
Brugspruit
Pienaars
Hennops
Edendalspruit
HennopsMoreletaspruit
Hartb
ees
spruit
Pienaars
Pienaars
Apies
Moretele
Wilge
rivier
Swartspruit
Apies
Wilgerivier
Wilgerrivier
Sand
rivier
Wilgerrivier
Pienaarsrivier
Wilgerivier
Tolwa
ne
W il ge
rivier
Tolwa
ne
Mar i ri
etsa
Wilgerrivier
Elandsrivier
Gotwane
Wilgerivier
Wilgerivier
Kutsw
ane
Sandrivier
Tshwane
Olifantsrivier
Bronkhorstspruit
Rosespruit
Elandsrivier
Saalboom spruit
Swartspruit
Platrivier
Wilgerrivier
Moretele
Soutpanspruit
Elandsrivier
Wilgerivier
Elandsrivier
Klipspruit
Tolwane
Kutswane
Kameelrivier
Enke
ldorin
g spru
it
Tshwane
Pienaa
rsrivie
r
Pienaarsrivier
Boekenhoutspruit
Mosesrivier
STR513
STR104
STR55
STR513
STR104STR101
STR511
STR104
STR512
STR55
STR50
STR50
STR566
STR55 STR104STR514
STR544
STR513
STR101
STR511
STR104
STR566
STR573
STR513
STR515
STR25
STR568
KLN4
KLN4
KLN4
KLN1
KLR21
KLR80
KLR80
KLN1
KLN4
KLR80
KLN4KLN4
KLN4 KLN4
PIENAARSRIVIER RUST DEWINTER
DENNILTON
TWEEFONTEIN
KWAGGAFONTEIN
VERENA
MMAMETLAKE
SIYABUSWA
VAALBANK
BEDWANGCYFERSKUIL
MAKAPANSTAD
HARTBEESPOORTDAMPERIODICAL
COURT
LETHLABILE
MOTHUTLONG
GA-RANKUWA
MABOPANE
LOATE
DUBETEMBA
HAMMANSKRAAL
RIETGAT
AKASIA
SOSHANGUVE
CARE FACILITY
SINOVILLE
BROOKLYN
ERASMIA
PRETORIAWEST
ATTERIDGEVILLE GARSFONTEIN
PRETORIAMOOT
HERCULES
WONDERBOOMPOORT
SILVERTONMAMELODI
CORRECTIONAL SERVICE
EERSTERUST
KAMEELDRIFT
CULLINAN
CORRECTIONAL SERVICE
BRONKHORSTSPRUITBOSCHKOP
Verena
Pienaars River
ZonderwaterBaviaanspoort
Hammanskraal
HatfieldPretoriaPrison
Kwaggafontein
Siyabuswa
Elandsdoorn
Cullinan
Kwamhlanga
Temba
Ga-Rankuwa
Pretoria North
SoshanguveMabopane East
Pretoria
Kromdraai
Kwaggafontein
Sehlakwana
Vrischgewaagd
Wolvenkop
Kwaratsiepane
Makapanstad
Swartbooistad
De Wildt
Hartbeespoort
Kgabalatsane
Kleinfonteinstad
Letlhabile
Maboloko
Makgabetlwane
Akasia
Bronkhorstspruit
CullinanDark City
Pretoria
PretoriaNorth
Refilwe
Soshanguve
SubPlace
Cullinan Sub District of Tshwane East Magisterial DistrictCullinan Sub District of Tshwane East Magisterial District
DATA SUPPLIED BY:Statistics South Africa
Department of Water Affairs & ForestryDepartment of Provincial & Local Government
Department of HealthDepartment of Safety & Security
Department of EducationDepartment of Transport
Legend
National RoadsMain RoadsRailways
Rivers
Traditional CouncilsDams
Main Town!.
Schools#
Health Facilities!C
Provinces
Proposed Magisterial District
Proposed Seat / Sub District
Main Courts;
Place of Sitting$
PoliceStations & Facilities^ Department: Justice
and Correctional
Services
For more informationregarding this map,
kindly contact
Mr Moagi [email protected]
or Mr Fazel Hoosen
[email protected]/10/2014
Main Seat / Sub District Main Seat / Sub District withinwithin
the Magisterial Districtthe Magisterial District®