!
!!
!
!!
!
!!!
!!
!
! !
!!!
!
!!
!!!
!!!
!!
!
!!!
!
!
!!
!
!!
!!
!!!!!!!!!
!
!!
!!!
!! !!!
!! !!!
!!
! !
!
!!
!!
!
!!!!
!!
!!
!
!!!!!!
!!
!!!
!!!
!!!!!
!
!
!!!
!
!!!!!!
!!
!!
!! !!
!!
! ! !!!!!!
!! !!
!!!
!
!!!
!
!
!!! !!
! !!!!
!
!
!!
!
!!!
!
!
!!!
!!!!!
!!
!
!!!!
!!!
!
!
!
!!!
!!!
!!
!!!
!
!
!
!
!!
!!!
!
!!!
!!
!!!
!!!
!
!
!
!!!
!!
!!
!
!
!
!!
!
!!!
!!!
!!!
!
!
!
!
!
!
!!!
!
!!
!!
!
!!
!!!!!
!
!
!
!!!
!
!
!!!
!
!!!!!!
!!!
!
!
!!
!!
!
!!!
!!!
!
!!
!!
!
!!
!!
!
!!
!
!!!
!!!
!
!
!!!
!
!
!!!
!!
!
!!!
!
!!!!
!!!!
!!!
!!!
!!
!
!
!!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!!!
!! !
!
!
!!
!!!
!!!
!!
!
!!
!
!!!
!
!!!!
!
!
!!
!!
!
!
!!!
!
!
!
!
!
!!
!
!!!
!!!
!!
!
!
!
!!!!
!
!
!
!
!
!!
!
!
!
!
!!!
!!!!
!
!
!
!!
!!!!!!!!
!! !
!!
!
!
!
!
!
!
!
!
!
!
!
!
!!!
!!
!
!!
!
!!
!!
!
!
!
!!!
!
!!
!!
!
!
!
!
!
!!
!!!!
!!!
!!!
!!!
!
!!!!
!
!!!!
! !!!
!
!!!
!!
!!!!!!!
!
!!!!! !
!!!
!!!!!!!!!!
!
! !!!!
!!!
!!!!!!
!!
!!!!!
!!!
!!
!!!
!
!!
!!
!
!
!
!!
!!!!!!
!
!
!! !!
!!
!!!
!!!!!
!!!
!!
!!!
!
!
!!
!
!
!
!!!
!
!!!
!!
!!!
!!!
!!
!!!!!!!
!!!! !!!!!
!!! !!!!!
!!!!
!!!!!
!
!
!!!! !
!!!!!
!
!!
!!!
!!!
!! !!!
!
!
!!!!!!
!
!!!
! !
!
! !
! !!!
!!
!
! !
!!
!! !!!
!!!!!
!!
!
!!!!
!!
!
!!
!!
!
!
!
!!
!!! !!
!!!
!!!!!
! !
!!!!
!!!!!
!!
!! ! !!!!!
!
!
!
!!
!!
!!!!!!!!
!!
!!!!
!!
!!
! !!!
!!
!!!!!
!!
!
!!!!
!!!!!
!! !!! !! !!!
!
!!!!!!
!!!
! ! !! !! !!!
!!
!!
!!!!
!
!!!
!
!
!
!!
!!
!!
!!!
!!
!!!
!!!
!!!!!
!
!
!!!!!
!
!!!!
!
!!
!!!
!
!
!!
!
!
!
!
!!! !!!
!! !!
!!!
!!
!!!!!
!!!!!!
!!
!! !!
!!
!!!!!!
!!!!!!
!
!!
!
! !!
!!! !!!
!!!!!
!!!!
!
!!!!
!! !
!!!!!
!!!! ! !! !
!!!
!
!
!
!! !!!
!!
!!! !
!!!
! !!!
!
!!!!
!
! !
!
!
!!
!
!!
!
!
!!
!
!
"" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"" """ "
"
""
"
"" """
""
" ""
"""
"
" "
""""
"" ""
"
" ""
"
" "" "
"
""" "
"
""""
""
" ""
"
""
"
""
"""
"""
""
""
"
"
""
"
"
""
"
""
""
"
"
" "" "
""
"" "
" "
""
"""" "
"
"
" "
"
"
""
""
""
""
"""
""
"
"
"
"
""
"
"
"
""
"" ""
"
" "
"""
" "
"" "
" ""
"
""
"
"" " "
""
""
"
" "
""
""
" "
"" "
"
"
"
"
"
"
"
" "
""
"" "
"
"" " "
""" """
"
" " ""
" """ "" "" " """""
"
"""
"
"" " " ""
"
"
"" "
"
""
" "" "" """ """
"
"
""
""
"
"
" """ " "
"
"" "
"
"""
"
" "
"
"
"
"""
"
"
""
""" """ """
"
""
"" ""
""
"
"
"
""
""
""
"" ""
"""
"""
" "" "" "
"" """
"
"
"""
""
"
"
"""" "
"
""
"" " """
"
""
" " """
" "" """
" "
"
"" "" "
""
""" """ " "
""
""
""
"
""
"
"
"" ""
"
""
"
" "
"
"" "
""
""
"
"
""
""" "
"" "
"
"
"
"
"
"
" ""
"" "
"
" "
"
"
""" ""
"
"
"""
""
""
"
" "
"
"""
""
"
"
" """
"" "
"
"
""
" " "
"" """"
""
"
"""
""
"
"
"
""" "
"" ""
"""
"" "" """
""""
" "" " ""
""
" """
""
"" """"""
" " "" "" " " "
" ""
""
" """ " """ """ "" "" ""
" """ "
""
"
""
"
""
"
"
"""
"
""
"""
"
"
"
""
"
"
""
"
"
"
"
"
""
"
""
"
"
"
"" ""
"" "
""" """
" """
"" " " "
"
"" "
"
"""
"
"" " ""
""
"
""
"" " "
"
" ""
" "
""
"
"
"
"
""
""
"
" "" "
" ""
" ""
"
" ""
" "
"
""
"
"
"
"
""
"" "
"
""
""
"
"
" """
""
"
"
""
"
"
"
" "
""
""""
""
" """ ""
"
" "
"
""
" "
""
"
""
"
"" """
""""
""
" "
"
"
""
"" "
""
" """
""
"
""
" "
"""
" " """ "
"
"
"
" " ""
"
" """ " " ""
"
" "
"
" "" """
"
" """" " """
""" """ """ " """ """
"
" "
"
""
" "
" "" " "" ""
" "" " " "" "" "" ""
" "
"
""
" ""
"""" "" """ "" " " " "
"
"
"
"" ""
"
" """" ""
"
"
" ""
"
"
""
"
"" "
""
"
"" " "" ""
"
"
"
"" "
" "
" "
"
"""
"
""
"
"
"" "
""
"
"""
"
"
"
"
"
" ""
" """
"
""
"" ""
" "" ""
"
"
"
""
"
""
"""" "" "
" "
"" "" "" " "
""
" "
"
""
""" ""
"
""
"
""
"
"
"" """
" " "
"
"" """ " "
""
"
"" " "
"
" "
"
"
" """
"
""" ""
"
"" "" "" "" ""
"
"
"
"
"
" "
"
" ""
" "" "
"
""
"
""
""" " """
"
"""
"
" """ """ """ ""
""
"" """""
"
" "
"
" " " ""
"" ""
""
"
" ""
"
"
""
"
"
""
"
"
"
"
"
""""
"
"
"
" ""
"
"
" "
"
" " ""
"
"
"
" ""
"
" "" " """
"
"
""""" "
"
"" "" " "
"
"
" "
"" "
"
" ""
"
""
"
"
"
"" "" "
"
"" "
"
"
""
"
" "" " "" " ""
"
" "" ""
"
" "
"
" "
"
" """ " " "" "
"
"
"
"
"
"
"" "" "
""
"
"
"
"""""" " ""
""" ""
"
" "
"
"
"
""
"
"
" " """" ""
"
"
"
"" "
" "
"""
""
"
" "" " """" "" ""
"
"
"
"
" ""
"
"" "" " "
"
" "
"
" " " ""
""
"
""""
"
"" " """ """
"
" """ ""
"
" " " ""
" "
""" "
"
""
""" """ " "
"
" " """ " "" " " " "" """ "" ""
"""""
"
" " " """" " "" "" " "" """ """
"" ""
""" "
"
"" "
"
"
""
"
" "" " ""
""""
"""""
""" "" " "
"
"" ""
" " """ ""
"""
"
" "" """ " ""
"""" """ """ "" "" " "
"
" """
"
""
"
"""
""" """" " ""
"
" ""
"
"
" """
"
"
"
""
""" """" "
""
" ""
"" ""
"" " "" """ "
"
""" " ""
" ""
""
"
""" "
" " "" ""
""
" "" " "" """
""
"
""
" "
" ""
"
"
""" "" """ "" ""
"
""
"
"" ""
"
"
""
"" "
""""
""" "
"
"" "" ""
""
"
"""
"
"
"""
""
"
"
" """
" ""
""
"" "" "
""
""
""" """
"""" "
"
"" "
"
"" " "
""
" " ""
"
" """ "" " """
" "
"
"" "
"
""
""
""
""
" " "" "
"
"" ""
"
"
"""
"
"
""
"
""
" " ""
" "
"
" """
"
""
"
"""
"
"
"
"
" " " "" " ""
"
"""
"""
"
" "
"
" """
""" """" ""
"
"
""
"
"""
"
""" """" " "
"
""
""""""
"
"
"
" ""
""
" " "" "" ""
"" """" ""
"
"
"" "" ""
""
"
""
"
"
"
"
"
" ""
"
" ""
"
" ""
"" ""
" "
"
""
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
""
""
"
""
"
"
""
"
"
"" "
"
" "
"
"" " "
"
" ""
" """ ""
"
" ""
"
""""
""" "" "
"
" ""
"
" " """
"
"
""
""
""
""
""
"" " """
"" "
"
"
"
"" "
""
"
"
""
"
"
"
" " """"
"" " """"
"
" ""
"
" "" "
"
"
"
""
"
"
"
""" " """"
"
" " "" " "
"
" """
"
"
"
""" " "" "" "
"
" " " "
"
""
"
" "" "" " "
""
""" " "" "" "
"
"" """ """" "" "
"
"
"
" """ """
""
"
""
" "
""
" "
"
"
"" " "
"
"
"
"
"
""
"
" ""
"
"
" ""
"
"" "
"
"
"
" "
"
"" ""
"
"
" """"
"
""
"
"" "" "" ""
"
" ""
"
""
"
"
" ""
"
"
""""""
"
""
"
"""""" " ""
"
""
""""""""" ""
"" "
""
"" ""
"
"
"
"" "
"
"
"
"
"
""
"""
"
"
"
"
" "
"""
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
" "" ""
"" "
"
""
"
"
"
""
"
" "
"
"
"
"""
"
"
"
"
"
""""
""
"
"
" "
""
"
"
""
"
"
"
"
"
"
"""
"
" ""
""
"
"
"" "
"" "
"
"
""
" " "
"
" "
"
"
"
""
""
"
"
"
"
"
"" "
""
" """
"
""" " "
"
"
" " "" "
"
""
"
"
"
" ""
"
" """" "" " "" " "" "" "" "
"
"
"
"
"
""
"
"" "
"" "
"
""""
"
"
" ""
"
""" """"
"
"" ""
"
""
"" "
"
""
"
""
"
"
"
" ""
""
" "
"
""
"
"
" ""
"
"
"
"
"" "" """
"
"
""
""
""
"
""
"" "
"
""
"
"
""
"
"
"
"
"
" ""
"
" "
"
"
""
"
" "
"
"
"
""
""
"" "
"""
" """
"
" " "
"
"
"
" "
"
" ""
"
""
"
"
"
""
"" "
""
" " ""
"
"
"
"
""
" ""
"
"
"
"
"
"
""
"
""
"
"" "
"
"
"
""
"
" ""
"
"
"
"""
"
"
"
" "
"" "
" ""
" "
" " "
" "
" "
""
"
"
"" ""
""
"" ""
" ""
"""
"
"
" "" " "
""
" " ""
"
" ""
" "
"
" "" ""
"
" " "
"
" "" """"""""""
"
"
"
"
"
"" "" """ "" "
"
"
""" "" " " """" "
""
""" "" """
""" "" " """ """ " "" " "" "" "
"
" "
"
" """" ""
""
"
""
"
"" "
"
""
"
"
"
""
"
"
"
"
"
"
""
""
"
"
"
"
"
"
""
"" "
"
"
"
"
"
" "
"
"
"
"" "
"
" "" " ""
""
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
" "
"
" ""
"" ""
""
"
""
"
""
"
" "
""
""
"
"" "
""
"
"" """
""
"" "" " " "
" "
""
"
""
"" "
"
"
"
"
"
"""" "
"
"
"
" """ ""
"""" "
"
"
"""
"
"
""
"
"
"
" "
"" ""
"" "" "" "
""
" " "
"
"
"
"
"
"" "
"
"
"
"
"
"" "
"
"
"
"
"
"
" " ""
"
"
"
"
""
" ""
"
"
"
"" "
""
""
"" "
""
"
"
" " "
"
"
"
"
"
"
""
"
" "
"
"
"
""
"
"
"" """
"""
" ""
"
"
""
""
""
"
" """"
""
"
"""
""
""
"
" "
"
"" "
"
"
"
"
"
"
"
"
"
""
""
"
""
""
"
"
"
"
""" "
" "
" "
"
""
""
" " "
""
" " """ """"" " "" ""
"
"" "
"
"
""" " "
"
"
"
"
"
""
"""
""
""
"
" " ""
"
""
"
"""
"
" "
""
"
"
"
"
"
""
"
"
"
"
""
""
""
"
"
""
""
""
"
"
""
"
"
"
""
"
"
""
""
" ""
"
"
"
""
"
""
"
"""" "
""
"
""
"
"
"
""
"
"
"
""
""
"
" "
"
"
"""
"""
"
"
"
"
"
"
" """
"
"
""
"
""
"" "
"
"
"
"" ""
""""
""
""
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""" "
"
""
"
""
"
""
"
"
"
"
" ""
"
" "
""
""
""
"
"
"
""
"
""
""
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"" ""
" ""
" "
" """
"
""
"
"""
" "
""
"
"
"
"
""
"
"
"
"" ""
"
"
"
"
"
""
"
"
"
"
"
"
"
""
""
"
""
"
""
""
""" "
"
"
"
""
"
"
""
"
"" " ""
""
" "
" """
"
"
" "
"
""
"
" "
"
" "" "
"
"""" "
"
""" " "
" "
"
"
" "
""
"
""
""
"
"
""
"
"
"""
"
""
"
"
"" "
"
""
"
""
"
"""
" "
""
" "
""
"
" "
"" " "
"
"" "" "
"
"""
"
"
"
"
"
"
"
"
"
""
"""
"
"
"
"
"
"
" "
"" "
"
"
"
" ""
"
" ""
"" "" " ""
" ""
"" ""
"
" ""
" "
""
""
""
""
""
"
"
"
"""
" ""
"
""
"
"
"
""
"
" "
"
"
"""
" "
""
"
"
"
" """
"
"
"
"" ""
""
"
" ""
"
" "
"
"
" ""
"
"
"
"
""
""
" "
"
"""
" "
"
"" " "
"
"
""" """ " "
""
"
"
" " ""
"
""
"
"
"
"" "" "
"
"" "
"
""
" """
"
"
"
"
"
""
""
"
" "
""
""
""
" "
"
"
"
"
""
" ""
"
"
"
""
"
"""
"
"
"
"
""
"
"
""
" "
"
" "
"
"
"
""
" "
""
"
" " "
"
"
""
"
"" "
"
"
"" "
""
" ""
"
"""" ""
"
"
"
"
" "
""
"
"
"" "
"
"" " "
"
" ""
""
"""
"
"
"" "
"""
"
"
"
"
" ""
""
"""
" " ""
"
""
"
" """"" ""
"" ""
"
" """ "" ""
""" "" "" """ "" "
" """"
"" ""
"" """" ""
"" " "" "
"
"
"
" "
""
""""
""
"
"""
" " "
"
"
"
" "
"
""
"" "" "" "
"
" """
""
""
"
"
"
" "
"
"" """ ""
"
"" "
"
"" "" """" "
"
""
"
" """" "
""
"
" "
" "" """
""
""
"
"
"" ""
""
"
"
"" "
"
" "" "" "" "
" ""
""
""" "" "
"" ""
"
"""
"
""
"
"
"
"" ""
"
"
"
"
""
""
""
" ""
"""
""
"
"
" " "
" "
"
"" "" "
"
"
"
"
"
"
"
"
"
"
""
"""" "
""""
"
"
"
"
" "
"
"""
"
"
"""
"
"
" " " """
"" "
""
"
""
"
" " ""
"
" ""
"
"" "
""
"
" ""
"
"
"""
"
"
"""
" ""
"
"
"
"
""" ""
"
""
"
""
"
"""
""
"
"
""
"
"
"" "
"
""
""
"
" ""
""
""
""
" "
" "
"
"
" "" " ""
"" ""
"
"
"""
"
" ""
"
""
"
""
"" "
"
""
"
"
""
"
"
"
"
"""
" "
" "
"""
"
""
"" ""
"
"
"" "
"
""
" " ""
"
" """
" ""
"
"" " " "
"
""
" """"
"
" " """ """
"
"
"
"""
"
"
"
"""
" """ "
" """"
"
"
"" " """""
"
" " "
""
"
"
"
""
"
"
" "
"
" """" "
"
" "
"
""
"
"""
"
"
""
"
""
""""
""
"
"
" "
"
"
"
"
"" "
""
"""
" ""
" "
"
"
"
"
""
"""
"
"
"" "
""
"
"
"
"
""
"""
"
""
"
"
"
"
""
"
" " """""
" "
""
"
"
" "" "
""
"
"
""
"
"
""
"
"
"" "" """ "
"
"
" "
"
"
"
" ""
"
"" "
"
" "
""
"
"""
""
"
"
"
"
"
" """
""
" " ""
" "
"" "
"
""
""
""
"
"
"""
"
"
""
"
"
"
"
""
"
"" "
"
"
" " """"
"
"
""
"
"
"
"" "
"
""""
" """
"
"
"
"
"" "
"
"
"
" ""
""
"
"
"
"
" "
""
""
""""
"
"""
""
""
"
"
"
"
"""
"
"
"" " "
""""
"" """
""
""
" "
"
"
"
" ""
""
""
"
""
" "
" "
"
"
""
"
"
"
"
"
"
""
"
""
""
" "
""
""
"
"
""
"
""
"
"
"
""
"
"
""
"" ""
""
"
""
"
"" "" "
" """
"
""
" ""
" ""
"
""
"
"
"
"
"
"
""
"
"
"
" "
""
""
" "
"
""
"
"
""
"
"
""
"
"
""
""
"
"
" "
"
"
"" ""
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
""
""
"
"
"
"
""
" "
""
"""
"
""
"" "
"
"""
"
" """
""""
"" "
"
""""
"
" "" """
"
""
""
""
"""
"
"
"""
"
"
"
""
"
"
" " "
"" "
"
""""" "
"
"
"
"" "" "
"
"
"
"
"" ""
"
"
""
""
"
"" ""
""
"""
" "
"
"
"
"
""
"
"" ""
"
" """
"
" ""
"
"
"
""
"
"""
"
""
""""
"
"" "
"
"" "
" " ""
"
""
"
"""" """"
""
" ""
"
"
" "" """
"
""""""" ""
"
"
"
"
"
""
"
"
"
"""
"
" "" "
"
""
""
" "
"
""" "
"
""
"
"
""
"
""
"
"
"
"
"
""
"""
"
"
"
"
""
"
"
"
"
"
""
""
"
"
"" "
"
""" "
""
"
"
"
"
" ""
"
""
" " "
"" "
"""
""
"
"
"
"" "" "
"
"
"
"" """
"
"""
"
" ""
""
"
"" "
"
"
"
"""
"
""
"
"" ""
"
"""""
""
"
"""
""
"
""" ""
" ""
" ""
""""
" "
"
" ""
"
"" """
"
"
"
"
"
"
"
" ""
""
"""
"
"
"
"
"
"
"
"
""
"" ""
"""
"
"
"" "
"
""
"" " "
"
"
"""
"
" "
"
"
"""
"
" ""
"
"" "" "
""""
"" "
""
"" "
""
"
"
""
"
"
"
""
" ""
" ""
""""
"
"
" "
"
"
"
"
" " "
"
"
"
"
"
"
"
""
"
"
" """""
" " ""
"
"
"
" "" "
"
""
"
"
" "
""
""
""
"
"" "
" "
"""" ""
" "" "
"" " " "" " """"
"
"
"
""
"
"
"
""
"
"" "
"
"
"""
"
" ""
"
"
"
"
"
" "
"
" """ " """" ""
""" " " ""
"
" " """ """
"
"
"
"
"
"" "" "
""
" """
" "" "
"
"" "
"
"" """" """
"" "" "" "" """ "
"
"
""
""
"
" """"
""
" "
"
"
"
"" "
""
"
"
"
" ""
"
"
"
"
""
"
" """"
"
""""
"""
" """ ""
"
"
"" "" "
"
" "
"
""
"" """
" """ "
"
"
"""
"""""
""
"
" " "
"
"" "" ""
" ""
""
""" "
""""
" "
"" ""
"
"
"""" "
"
"
"""
"
""
"
"
"
" """
"
"" ""
"
""
" " ""
" " """
""
""
"
"
"" """ "
"""
"
"
" ""
"
""" "
"
"
"
"
"" "
"
"
"""
"
" "
""
"" "
"
" "
" " """
"
" """
"
"
""
""
"
""
""
" ""
" ""
"
"
" " "
"
""
" "" ""
" "
""
""
"""
""
"""""
"
""
"""
" """
"
"
" """" "" "
"
" """" "
""
"
"
"" "
"""
"
""
" ""
"
"
"
""
"" ""
"
""
"
""
""
"
" """"
" """
""" "
"
"
""
"
"" ""
" ""
"
""
"
"
"
"
" "
""
"
"
""
""
"" " "" ""
"
"
" "
" ""
" ""
"
"
""
" " "
"
" "
"
"" "
"
" "
"
"" "
""
""
"
" "
"
" " ""
""
"
"
"
"
" """
"
"
"
" "
"
"
"
" "
"" "
""
""
"
""
"
"" "
"
""
"
"
"
""
"
"
"
" "
"
"
" "
"
"
"
"
" ""
"
"
"
"" "
"
""
"
"
" ""
" ""
"
"
""
"
"
"""
""
""
"
"
"
"" ""
"""
"
"""
""
" "
"
"" " ""
"
""
"
""
"
""
"
""
" "
"
"
" ""
"
"
""
" "
""
" " "
""
"
"
""
" "
"
" "" """ "
" """"
" "
"
""
"
""
" "
"
" "
""
"
" "
"" "
"
"
" "
""
"
"
" "
"""
"""
""
" "" "" "" " ""
" " """
"
"
""
"
""
""""
" "
"
"
"" "
"
"
" ""
"
"
"
"
"
""
"
"
"" """
" " ""
"
" " ""
"
"
" "
"" """
" "
"""
""
""
""
"
"
"
"" "
""" "
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"" "
"
"
" "" ""
""
"
" ""
""
""" """
"
""
"
"
"
"""" "
"
"
"
"
"
"
"
"
"
""
"
""
""
"" ""
" """
""
" "
""
" "
""
""
"
"
""
"
"
""
"
"
" " "
"
"
"" "
""
"
""
"" ""
"""
"" "
"
""
" ""
"
" ""
"" "
"
"
"
""
"
"
"
"
"
" "
"" "
"
"
"
""
"
"
"""
" " "
"
""
"
"""
""
""
" "
"
""
"" "
""""
"
""
""
"
"
"
"
"
"
"
" "" "" "
"
"
"
"
"
""
"
""
"
"""
"
""""
""
"
"
"
" ""
"
""
"
"
"
"
""
"
"
" ""
"
"
""
"
""" "" "
"
"
"""
"
"
"
"
"
""
" " "
""
"
"
"
""
"" "
" "
"
"
""
"
"
" "
"
""
"
""
""
""
"""
"
"
"
"
"
" " "
""
""
"
" ""
"" "
"
"" "
" " "
""
"
"" "
" ""
"" ""
"
"
"
" """
""
"
"" " "" " " ""
"
"
"
""
""
"
"
"
" ""
"
"
" ""
""
""
"
""
"
"
"
"
"
""
""
"
"""
"
"
"
""
"
" """"" ""
"" " ""
""" "
"
" "
"
"
""""
" "" " """"
"
" "
""""
"
"" "
""
""" "" "
" " "
""
"
"""
"
"
"" "
"
"
"
""
"
"
"
"
""
"
"
"
"
""
""
" ""
"
"
""
"
"
""
"
"
""
""
""
"
" "
"
"
"
"
""
" "
"
" "
"
" "
"
" "
""" ""
"
"""
" "
""
" ""
"
"
""
" "
"
""
" " "" "
" "
""
"
"" "
"
"""
"
""
"
"
"
" ""
"
"
"
" "" """
"
"
""
"
""
""
" ""
" "" ""
"
"
"
"
"
" "
"" "
"" "" "
"""" ""
"""" "" ""
"" ""
""" "
"
" ""
""
""
"
"
"
""
" "
"""
"
"
"
"
"
"" "
"
"" "
"
"
"
"
""
"
""
""
"
"""
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
" ""
""
"
" ""
"
""
""
""
"
"
"""
"""
"" "" " "" "
"
"
"" "
"
""
"
"" "
"
"" "
"
"
"
"
" ""
"""
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"" ""
"
"
"
"
"
"
"
"
"
"
"
"
" ""
" "
" " """"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
""
"" ""
" "
"
"" "
"
"""
"
""
"
""
"
""
""
""
""
"
"
"
"""
""
"
" ""
"
"
"
"
"
"
"
"" "
" ""
"
" ""
" "" ""
"" "
"
"
"" ""
" "
""
"
"
""
""
"
"
""
""
"
"
"" " "
"
"
" "
"
"
"
"
" "
"
""
""
" " ""
"" """"
"
"""
""" ""
"
"
"" ""
"
""
"
"" "
"
" "
"
"""
" "
"
"
"
""" "
"
"
"
""
"
"
""
"
"
"
""
"
"
"
"
" " "
"
"
"
"
"
"" " "
"
"
"
"
"
"
" "
"
"
"
""
""
""
"
"
"
"""
"
" "
"
"
""
"
"
"
""
"
""
"
""
"""
""
"" "
""
""
"
"
"""
""
""
"
"" "
"
"
" ""
"
"""" "
"
""
"
"
"
"
"
""
""" "
"
"
""
"
"
""
""
"
" "
"
"
"
""
"
"
" """
"""
"
"
"" "
"
"
"
" """
" "
"
"
"
"
"
"
"
""
"
"
"
" " """ "" " "
"
"" " ""
"
"
"" "
"
"
"
"" " """ "" " ""
"
"
" ""
""
"
"" "" "" "
"" "
"" " "
"
" "
"
"
"" ""
"
"
"
""
""
"
"
""
""
""
"
"
" "" "
"
"
" "
"
" ""
"
"
"
"
"""
""
"
"
"
""
"" "
""
"
" "
"
"
"
"
"
"
"
"
"
"""
"
"
"" "
""
" """"
"
"
"
""" "
"
"""
"
"
"
""
"
"" "
"""
""
" "" "
"" ""
"
"
"
""
"
""
"
"
"
"
"
"
""""
" " "" """ ""
""""
"
" """
"""""
"
"
"
"
"
"
" " "
"
"
"
"
""" "
"
" "
"
"
"
""
"
"
""
"
"
""
"
"
"
"
""""
"
""
" """
"
"
"
"
" "
"
"
"" "
"
"
"
"""
""
" "
"
" "
"" "
""
"
"
"
"
"
"
"
"""" ""
" ""
" "
" " "
"
"
"
""
" ""
"
"
" "
"
"
"
"" ""
"
"
"
""
"
"" "
"
"
"
"
"
" "
"
"""
""
"
"
"
" "
"
""
""
"
"
"
" ""
"
"
""
"
"
""
""
"
"
""
"
"
"
""
"
""""
"
""
"
"
"" "
"
"""
" ""
"" " ""
""
"
""""
"
" "
"
"
""
"""
""
"
" "
"
""
""
"
""
""""
"
"
""
""
""
""
"
"
"" " ""
"" "
"
"" "" "
"
"
"""
"
"
"
"
"" "
" "
""
"
"
""
" """
"
"
"
"
"
"
""
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"""
"
"
"
"
"
"
"
"
"""
""
"" "
""
"
""
"
"
""
"
"
"
"
"
""
""
"
"
"
"
"
"""
"""
""
""
"""""""
"
"
"
"
"
"
""
"
"
"""
"
""
"
" "
" "
""""
"
"
"
""
"
"
"
"
""
"""""
"
"
"
"
"
"
"
"
"
"
""
"
""" "
"
"
"
"
"""
""
""
""
"
"
"
"
""
"
"
""
"
""
"
" "
"""
"
"""
"
"
" "
"
""
"
""
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"" " "" "
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
""
"
""
"
"
"
""
"
""" "
"
"
"
"""""
"
"
""
"
"
"
"
"
"""
"
"
"
""""
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
""
" "
"
"
"
"
""
"""
""
""
"
""
"
"
"
"
"
""
""
""
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
""
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
""
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"""
"""
"
"""
"
"
""
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"" "
"
"
""
"
"
"
""
""
"
"
"
""
"
"
""
"
"
""
"
"""
"" "
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"""
"
"
""
""
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
""""""
"
"
""
""
"
""
"
"""
"
"
""
""
"
"
"""
"
"
"
""""""
""
"
"""
"
""
""
"
"
"
" "
"
"""
" "
"
"
"
"
"
"
"
""
""
"
"
""
"
"
""
" "
"
""
""
""" "
""
"
""
" "" "
""
"
"""""
"
"
"
"
""
"
""
""""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"""
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"
"
"
""
" ""
"""" "
"
"
"
""
"" "
"
""
"
"
"
"
"
"
"""
"
"
""
"
"
"" "
"" "
""""
"
""
""""""
"
"
""
"""""
"""""
"
""
" "" "
"
"""
"
"
"
"
""
"
"
"
"
"""""
"
"
"
"
""
""""
"
""""
"
"
"
"
"
"
""
" "
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
" "
""
"""
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
""
"
""
"" "
" "
""
"
"
""
"
"
"
"
"
"
"" "
"
"
"
"""
"
"
"
"
"
""
"
" "
"""
"
"""
""
"
""
"
""
" "
"
"
""
""
"
"
"
"
""
"
" """
" " "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""" ""
""
"""
""
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
""
""
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"" """"
"
""""
"
" ""
"
""""" """
"
"
"
"
""
""
"
"
"
"
""""
"
"
"
" " " "
"
"
"
"
"
""
"
""
" ""
"
"
"
""""
""
"
"
""""
""
"
"
" ""
"
"
"
"
"
"
"
""
"
"
"
"
""
""
"""""""
"
"
""
"
"
""
"
"
"
"
""""
"""
"" " " " "
"
""
"
""
""""""""
""
"
"
"""
"
"
"
"
"
""
""
"
"
"
"
"
" "
"
"
"
""
" "
"
" " " " "
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
" "
"
"
"
"
"" "
""
"
"
"
"""
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
""
""
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"""
""
"
" " " "
"
"
"
"
"
"
"""
"
"" " "
"
"""
"
"
"
"
"
"
"
" " "
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"""
""
"
""
"
"
" "
"" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
""
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"" "
"
"""
"
""
"
"
"
""
"
"
"
"
"""
"
"
""
"
"
"
""
""
""
""
"""""
"" "
""
""""
""
"" "
"
"
" "
"
"
"
"
"
"
""
"
""""""
""
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
""
""
"" "
""
" """"" " "
""
"""
""""
"
""""
"" "
"
"
"
"
"
""
"
""
"""
""
"
"""
"
"""
"""
"
"
""
""
"
"""
"
"
"
"
" "" """ "
"" " "" "
"
"
"
"
" "" "
" " "
""
"
"
""
"
"
""
"
"
"
"
""
"
" " " ""
" "
"" "
" "
" "
"
" "
"
"
"
""
"
"
""""
"
"""""
"
"
"
"
"
"
" "
"
"
" " ""
"
"
"
"
"
"
"
""""" ""
""
""
"
""
""""""
"
"
"
"
"
"
"
"
"
" " "
"
"
"""
" ""
" " "
"
"
""
"
""
"
"
"""
"
"""
"" " """""" """
"
"
" " " " ""
"
"
" "
""
"
"
"
""
"
"
" """ """ " "" ""
"""
"
""
""
"
"
""
"
"
"
"
"
"
"
"""
"""
"
"" "" """ " "" " " " " "
"
""
"""""
"""
"
"""""
""""
"
"""""""
"
"""
""
"
""""""""
"""""""""""
"
"""
"
"
""
"
"
"
"
"
"
""
""""""
""""""
" ""
"
""" """""""""
"
"
""""
"""
"""
"
""""
"""""""
"" "
"
"""""
""
" "
"
"
"""""
""
""""
""""""
""
""
"""""""
"
""""
""""
""
"""
""
""
"
" """"""" """"
""""
""
"
"
"
"
"
"
""
""""
"
""""""""" "
"""""""
"""
""""
"
""""
"""""""
" """
"""
""""""""""
"""
"""""
"
"""
""""
"
""""""""""""
"
" """""
""
""
"
""""""""""""" " """"""""" "" """
""
""
"""
"
"""
""
""
"""
"
"
""
"""""""
"
""""
"
"
"
"""
"""""
""
"""
"""
"""
"
"""
"""
""
"""
"
""""""
"
""
"
"
"
"""""
" "" " "
""
"
"
"
"
"
"
"
""
"
"
"
"
"" " "
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
" "
""
"
""
"
"
""
" " ""
" "
"
"
"
"
"
""""
""""""
" "
""
""
""
"
"
"
"
"
""
"
""" "
"
" """""
"""
"
""""
"
"
"
"
"
"
""" ""
"
""
"""""
"
"
"
"
"
""" "
"
"""
"
"
"
"
"
"
" "" "" "
"
"
"
"
""""
"
"
"" " " " " " " " " " " " " "
"
"
"
"
"
"
"
""
"
" "
""
"
"
""
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
" " " "
"
"
"
"
"" " " " " "
"""
" "
"""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""" " """
"
""
""" "
"
""
""
" """
"
""
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
""
""
"""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"""
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"""
"
"
"
" "
""
"
""
"""
""
""
""
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
" ""
"
"
"
"
""
"
"
"""
"
"
"""
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"""
"
""
"
"
"
"
""
"
"
"
""
"
""
"
"
"
"
""
""
"""
""""""
"
""
" "
""
""
"
"
"
"
"
"
"
"
""
""
"
""
"""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"""
"
" "
" ""
"
"
"
""
""
"
"
"
"
"""
"""
"
"
"
""
""
""""
"
"
"
""
""
"
"
"
""
"
"
""
"
""
"
"
"
""
"
"
"""
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
""
""
"
"
""
"
"
""
"
""
"
"
"
"
"""
"
"
""
""
""
"""
""
"
"
"
"
"
"
"
"
"
"
"
"""
""
"
"
"
"
"
""
"
"
""
" ""
"
"
"
"
"
""
"
"""
"
"
"
"""""""" "
""""" """
""
"
"
""
""""""
"""
""""
"
"""
"
"
"
""
"
"
""
""" ""
"
"
"
"
"
"
""
"
" " "
"
"
""
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
""
"
""
"
"
""
"
"
"
"
"
"""
"
"
"
"
""
""""
"
"
"""
"
" ""
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"""
"
"
""
""
""
""
"
"
"
"
"
"
"
"
"
""
" ""
"
"
"
"
""
"
"
"
""
"
"
"
""
""
"
"
""
"
""""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""""
"
"
"
"
"
"
"
""
"
"
"
""
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"""
"
""""
"
""
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
""
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
""
"
"""""
""""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"""
"
"
"
"
"""
"""""""""
""
"
""""""
""""""
""
"
"
"
"""
"
"""""
"""
"
"
"
"
""
"
"""
"
"""""
"
"
""""
"
""
"
"
"
"
"
"
"""""""""""
"
""""
""
"
""
"
"
"
"
"
"" ""
"
"
"""" "
"
"""
""""""""""
""""
""
"
""
""""
""""
""""
"
"""
"
""
"""
"
""""
""""
"""
"""
""""""""
"
""""""""""
"""
"
"
"
"
""
""""""""
"""
"
"
""
"
""
""""
"""""""
"
"""""
"
"
""""
"
"
"""
"
"""
""
"""
""""
""""""""
""""
""
"
"
"""
""""
"""
"
"
"""""
""
"""
"
"
"""""""""""""""
""""""
"
"
"""""""""""""
"""
"""
"""""""
"""""
"""
""""""""
""""""
"""
"""""""""
"
""
"
"
""""
""
"""""""
"""
"
"""
"""
"""""""
"""""
"
""""
""""
""
"
"
"""
"""
"""
"
""""
"
" "
"
"
"""""""""""""""""""
" " " """" """""""""" ""
"""""""
"
""""""""
"
""
""""
"""
""""
"
"
"
""
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""""""
"
"
""""
"
"
""""
"
""
"""
""
"
""""""
"
"
"""""""
"
""
"
"""""
"
"
""""
"
""
"
"
"
"
""
"
""
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"""
""
""
"
"""
"
"
"
"""""
""
"
""
"
"
"
""
"
"
"
"
""""""
""""
"""""
"
"
"
"
""
""
"
"
"
""""""""
"
"
"
""
"
"
""
"
"""""
"
"
""
""
""" "
"
"
"
""
""
"
""
"
"""
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"""
"
""
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
""
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"" "
"
"""
"
"
" "
"
"
"
"
"
"
""
"
"
""
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
""" "
"
"
"
"
"
"
""
"""
"
"
"
"
"
"""
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
""
"
"
"
"
"
"
"
"
""""
"
""
"
""
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
""
"
"
"
"
"
"
""
""
"
"
""
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
" " " """
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"""
"
""
"
"
" "
"
"
""
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
" ""
" "
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"""
"
""
"
""
"
"
"
""
"
"
"
""
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"" "
""
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"""
""
"
"
"
""
""
"
"
"
"
"
"
" "
"
"
"
"
"""
""
"
""
"
"
"
"
"
"
"
"
"""""
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
""
"
"
"
""
"
" "
""
""" " "" "
""
""
"
"
"
"
""
"
"
"
"
""
""
""
""
""
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
" ""
"
"
"
" " " """"
"
"
"
"
"
"
"
""
"
""
"
"
" ""
""
"" "
"
"" " "
"
"
"
"
"
"
"
""
"""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"" ""
" "
"
"
"
""
"
" "" "
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" ""
"
"
"
"
" " " " "" " " "" "
"
"
"
"
"
"
"""
""
"
"
"
" ""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"""
"
"
"
"""
"
""
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" " ""
""""
"
"
""
"
"
"
"
"
""
"
""
"
""
"
"
"
"
"
"
"
"""
"
""
" " "
" "
"
"
"
""
"
"
"
" "
"
"
"
"
" "
"
"
"
"
"" "
"
""
"
"" "
"
""
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
""" "
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"""
"
"
"
"
"
"
"
"
""
"
"
""
" "
"
"
"
"
"
""
" " "
"
"
"
""
"
"
""
"
""
"
"
" ""
"
"
"
"
"
"
"
""
"
"
"
"
""
""
" "
"
"
"
"
"
""
""
"
""
"
"" " "
"
""
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"""
"
"
"
"
"
"
"""
"
"
"
""
""
""
"
""
"
"
""
"
"
"
""
"
""
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
""""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"" "
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""""
""
"
"
"
"
""""
"
"
"
"
"
"
""""
"
"
""
" "
"
"
"
"
"""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
""
""
"
"
"
""
"
"
"""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""""
"
"
"
"
"
""
""
""
"
"
"
"
"
""
"
"""
"
"
"
"" " "
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
" ""
"
"
"
"
""
"""
"
"""" ""
""""
"""
" "" "
"" "" "
" """ " "
"" " ""
"""
""""
""""""
""""
"
"""
"
"""""""""""
"""""""
"""""""
""""""""
"
"
""""
"""
""
"""
""""
"""
"""
""""
" "
""
""
"
"
""
""""
""""
""
"
""""
"
""""""
""" ""
""""
" """""
""
""
"
"""""
"""
"""""
""
"
" ""
"""
"
" "
""
"
""""
"""
"
"
"
"
"
""""""
" " "
"
"
"
"
"""
"
"""
"
" """ "
"""
"
""
"""""""""" """"""""
""
"""
""""
""
"
"
""
""
"
"""
""
"""
""
"
"""""
""
""
"""""
"
"
" """"""
""" """"
"""""
"""""
"""""""
""""
"
"
""
"""""
""""""""""""
"
""
"
""""""
"
"" "
""""
"
"" "
""
"" "
"
""
"""
""""""
"""""
" "
""
"
"""""""""""
"
"""""
""
""""""""""""""
"""""" """" "
""""""""""""
"""" """""""
""""""""""
""""""
""""""""""""""""""""""""
""""
""""
""""
""
""""
"""
"""""
" "" """
""""""""""
""""
"
"""""" """" "" "
""""""
"""" "
"""""
"""" "" """" """""""""
"""""""
"""""""""""
"" "" " "
"
""""""
"""
""
"
""
""""
""
"
"""
""
""""""
"" """
"
""""""
""""
"""" "
""
"
" " "
""
"""
"
"""
""""""
""""""
"""""
"
"
"""" ""
""
"
"
"
"
"
""
""
""
""
""
""
"
"
"
"
"
"""
"
""
""
" " "
"
" "
"
"
""""
"
"
"
"
""""
"
""
"
" ""
""
"
"
"
""
"" "
"
"
"""
""""""
""""""
"" " ""
"""
"""
"""
""""
""
""
"""""""
""""
"""""
"
""
""
"
"""
"""
""
""""
""
"""" " " " ""
"
""" "" "
"""""
""
""
""
""
"""
""""""
"
"
"
"" "
"
""
"""
""
"""
"
"
""
""
"""
""""
"""""
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"""""
"
"
"
"
"
"
"
"
"
"
"
""""
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
" "
"
""
" "
"" "
"
"
"
""
"
"
""
"
"
"
"""
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
""
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"""
"
"
"
"
"
"
" "
" "
"
"
"
""
" "" "" "
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
""
""
"
"
"
" "" " "
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"""
""
""
""
"
""
"
"""
"
""
"
"
"
"
"
"
""
"
"
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
""
"
"
" "
""
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
""
"
"
""
""
"
"
"
"
"
"
"
"
"
" ""
"""
" " "
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
" ""
"
"
"
"
"
"
"
""
"
"
"
"" "
"
"
"
""
"
""
"
"""
"
"
"
"
"
"
"
"""
""
"
"
"""
"""
"""
"
"
"
"
"
""""
"
"
""
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"""" "
""
"
"
"
"
""""
"""
"
""
""
"
"
"
"
"
"
" "
" "
"
" "" "
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
""
""
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
""
"
""
""
""""
"
""
""
"
""""
"""
"
"
""
"
"
"
"
"
"
"
" ""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"""""
"
"
""
"
"""
""
"
"
""
"
""
"
"
"
"
"
"
"
""
""
""
"
"
"
"
"
"
" "
"
""
"
"
"
"""
"
"
"
"
"
"
"
""
"
"
"
"
"""
""
"
"
"
""
"
"
""
"
"
""
"
"
"
"""
"" "
"
"
"
"
"
"
"
""
""
"
"
"
""
"""
"
"
"
"
""""" "
" "
" "
"
"
"
"""""
"
"
""
"""
"
"""
"
"
"
""
""""""
""
""
"
"
"
""
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
""
"
"
""
"
"" "
" "
"
"""
"
"
""
""""
"""""
""
"
"""
"""
""
"
"""
"
""
"
"
""
""
"
"
"""
"
"
"
"""
"
"" "
""
""""
""""""""
""
""
"""
""
"
"""
""
""""
""""
""
""
"
"" "
"
"
"
"
"
"
"
""
""
"
""
"
"
"
""
"
"
""
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
""
"
"""""
"
"
"
"
"
"
""
" ""
"
""
""
"
"
""
"
"""
"
""""
"
""
"
"""
""
""
"
"
"
"""
"""""
"
""
""
""""
"""
"""
""""
""
""
""
""
"
""
""
"
"""
"""
""
""
""
""
" """""" ""
""
""
"""
"
""""
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"""
"
"
"""
""
""
"
"
"
"
" " "
""
"
"
"
"
"""
"
"
"
""
" ""
""
"
""
"
"
""
"""
" "" " "
"
"
""
"
"
"
" "
"
""
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
""""""
""
""
""
""
"
""
""
"""
""
"""
"
""
"""
"" " "" ""
"
""""
"
"""
"
"
"
"""
" " "" "" "
""
""
"""""
"
""""""
""
"
"
""
""
"
""
""""""
"""
"""
"
"""""""
""
"
"""
""
"
""""""""
"
""""
""
"
"""
"""
"
""
""" "
""
""""
" " """""
"""""""
"""""
" " """"""""
"
"""
""""
"""""""""""
" """""""
"""
"
"""""" "
"
"""
"""""
""""""
"
"
""
"""""""
""""
" """""""""
""""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"""
"
" ""
"
"
"
""
"
"
"" "
"
""
""""
"""""
""
"
"
"
"
"
"
"
"
""
"
""
""
"
"
"
""
"""
"
"
"
""
""
" "
"
"
""" "
""