regional# district of central#...
TRANSCRIPT
Data Sources for 82E083
Aerial Photographs
Roll
C96036C96036C96037C96037C96038C96038
F#
35 - 39196 - 20036 - 40191 - 19836 - 42191 - 198
Date
7/13/19967/13/19967/13/19967/13/19967/13/19967/13/1996
Scale
150001500015000150001500015000
Field Visits
Field visits were made during the summers of 2000 and 2001.
RIRiparian
Streamside ecosystems on floodplains and benches alongcreeks and rivers (bench, RI:fp), ecosystems in gullies withintermittent or permanent creeks (gully, RI:gu); fringeecosystems associated with pond and lake shorelines or siteswith significant seepage (fringe, RI:ff) and the river bed of largesystems (river, RI:ri)
BW Ecosystems dominated by deciduous species including aspencopses (BW:ac) in grassland areas, and aspen seepage(BW:as) slopes; excludes old forests
Broadleaf Woodland
NANot Sensitive
WNWetlands
Non-forested ecosystems where the water table is at or nearthe surface; includes marshes (WN:ms), swamps (WN:sp), andshallow open water (WN:sw) ecosystems including ponds
SVSparsely Vegetated
Shrubby rock outcrops (shrub; SV:sh), grassy or unvegetatedrock outcrops (SV:ro), talus (SV:ta) slopes, and cliffs (SV:cl)
OFOld Forest
Forest ecosystem dominated by large, old trees; excludes oldriparian forests (OF:co)
GRGrasslands
Ecosystems dominated by bunchgrasses (grassland; GR:gr)and shrubland (GR:sh) ecosystems that occur in a grasslandmatrix
WDConifer Woodlands
Open stands of Douglas-fir or Ponderosa pine, often on shallowsoils; excludes old forests
No Data/Outside Study Area
S Dot Density Base Dot Size (4 pt)
Sensitive Ecosystem Classifications
MFMature Forest
Forests dominated by mature trees; includes broadleaf (MF:bd)forests, coniferous (MF:co) forests, and mixed (MF:mx)deciduous and coniferous forests; excludes mature riparianforests and mature coniferous and broadleaf woodlands
DGDisturbed Grasslands
Grasslands with some noxious or invasive weeds
Other Important Ecosystem Classifications
Local Gov't Jurisdictional Boundary
Hard Surface - Primary Route
Hard Surface - Secondary Route
Loose Surface - Major
Loose Surface - Minor
Streams
Provincial & Regional Park Boundary
Lake/Reservoir
Marsh/Swamp
Highway Route
Depression Contour
Index Contour
Intermediate Contour
Depression Index Contour
Area of Exclusion
Local Gov't Jurisdictional Boundary
SEI Study Area Polygon Outlines
$ Mountain Peak
Local Gov't Jurisdictional Boundary
# Spot Height
Non-SEI Features
Sensitive Ecosystems of theRegional District of Central Okanagan
Introduction
###
#
##
### #
#####
##
##
#
#
#
#
##
##
#
##
#
#
#
#
##
##
## ####
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#####
#
#
#
#
#
#
#### #
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
##
# #
#
#
# #
##
##
#
#
#
#
##
#
#
##
#
##
#
#
###
#
#
##
#
#
#
#
#
#
##
##
##
#
#
#
##
##
#
# #
## #
#
##
#
##
#
##
#
### #
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
##
#
# #
#
#
#
##
##
#
##
##
#
#
# #
##
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
#
##
#
###
#
##
#
#
##
###
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
##
#
#
#
#
##
#
##
#
#
#
#
##
#
#
##
##
## #
#
#
##
###
#
#
#
##
##
#
## #
#
#
##
##
#
##
#
#
#
##
#
#
##
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
## #
#
#
##
#
##
#
#
#
#
##
#
##
###
#
#
#
#
##
#
#
#
##
# ##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
# #
#
#
#
#
# #
#
#
#
#
### #
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
##
#
###
#
###
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
####
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
##
#
#
##
# ##
#
#
#
#
##
##
#
##
#
#
#
#
##
#
###
#
#
#
##
#
# ##
#
#
#
#
#
##
#
##
#
#
# #
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
### #
##
#
#
#
#
##
#
##
#
#
#
#
#
##
#
# #
#
#
#
##
#
# #
## #
## #
#
##
##
#
#
#
#
#
#
# #
##
#
#
#
###
#
#
# #
#
#
#
# ##
# ###
##
#
#
#
##
# ###
#
#
#
#
###
#
####
#
###
### #
#
##
## #
#
#
#
#
#
#
#
#
#
##
#
#
####
##
#
##
##
#
#
#
#
# #
#
#
#
#
#
####
#
##
## #
#
## #
##
##
#
#
##
#
###
#
#
##
##
##
###
#
#####
#
# #
#
##
##
#
##
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
### #
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
# #
#
#
##
#
##
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
##
#
#
#
##
# #
##
#
#
#
#
#
#
#
#
##
##
###
#
#
#
#
#
#
###
#
##
### #
#
#
##
#
#
#
###
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
# #
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
## #
##
#
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
##
###
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
###
###
#
##
#
# #
##
#
#
#
#
#
##
## #
#
##
#
##
#
#
#
###
#
##
#
##
#
#
##
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
##
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
## #
##
#
###
#
##
# #
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
###
#
#
# ##
#
#
#
#
##
##
#
# ## ##
#
#
##
#
##
#
#
#
#
##
#
#
#
##
#
#
# #
##
##
#
#
#
##
# #
##
#
##
##
#
#
##
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
##
# #
#
#
#
#
#
##
#
## #
###
##
# #
#
###
#
# ###
#
##
##
#
##
#
#
#
#
#
## ##
##
##
###
#
#
#### ##
##
# ##
#
#
##
## ## ###
#
#
##
#
## #
#
#
##
##
#
#
#
#
##
#
## #
###
#
#
#
#
# # #
##
#
#
#
#
#
##
#
##
#
#
#
####
##
#
####
# #
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#######
#
#
##
#
#
##
#
#
#
#
### #
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
# # #
#
##
#
#
#
## #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
###
#
###
#
#
#
#
#
# #
#
#
##
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
##
##
##
##
#
###
#
# #
#
#
## #
#
#
##
## #
#
#
#
#
#
##
#
#
####
## ##
#
## #### #
# ##
#
##
#
#
#
####
##
#
#
#
## #
## ## ##
#
###
##
##
#
#
#
# # ## #
#
#
###
##
# #
#####
#
#
#
##
#
###
###
##
#
###
#
##
#
###
#
#
##
#
#
#
###
##
# #
##
##
##
#
##
#
##
## # #
#
#
##
#
#
##
#
#
#
##
#
# ##
##
##
#
#
#
### #
##
##
#
##
#
##
#
##
#
#
##
##
#
##
#
# ##
#
###
#
##
#
## ###
#
#
##
# #
##
#
#
#
#
##
###
#
#
#
##
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
# #
#
##
#
##
##
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
###
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
##
# #
#
#
##
#
#
#
#
#
##
#
##
##
#
#
###
#
##
##
# #
##
#
#
###
#
#
# #
#
##
#
###
#
#
##
# ##
#
###
#
#
#
#
#
#
#
# #
##
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
# ##
#
##
##
#
#
#
#
#
#
#
#
#
###
#
#
##
#
#
#
# #
##
#
#
#
#
#
#
#
##
#
#
#
#
##
##
##
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
##
#
#
#
# ##
#
###
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
# #
#
## #
### ##
#
##
#
#
#
#
#
##
##
#
###
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
##
## # #
#
#
#
# #
##
#
#
#
# #
#
#
#
###
##
#
##
##
#
###
#
##
#
##
###
#
##
#
#
# #
#
####
###
##
#
#
#
#
#
#
###
#
#
#
##
##
####
##
###
##
#
##
#
#
#
##
#
###
#
#
##
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
#
#
###
##
#
#
#
#
#
#
##
# #
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
# ###
#
#
# ###
#
#
#
##
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
###
##
#
#
##
#
#
#
#
#
#
#
#
#
##
#### #
#
#
#
##
#
##
#
# # ## ##
#
#
#
###
#
#
#
##
##
#
#
## #
#
#
# ##
#
##
#
#
#
#
## #
#
#
#
#
##
#
##
#
##
#
### #
##
##
#
###
#
##
##
#
#
#
#
#
# ##
# ##
# #
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
## # #
#
#
#
#
##
#
##
#
##
#
## ##
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
##
#
#
#
###
#
#
#
#
#
#
#
#
# ##
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
##
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
## #
##
#
##
#
#
#
##
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
###
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
## #
#
#
# ##
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
##
## #
##
##
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
##
#
## #
#
#
#
#
##
#
#
##
#
#
###
##
#
#
##
##
##
#
#
#
#
#
#
##
###
#
#
#
# ##
##
#
###
##
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
## #
# #
#
##
##
# ### #
#
#
#
#
#
#
###
#
#
#
#
# #
####
#
##
#
#
#
#
#
#
##
#
##
#
#
###
#
#
#
#
##
#
#
##
# ##
#
##
#
#
##
## # #
#
#
#
#
##
#
##
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
##
###
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
##
##
##
#
#
##
#
#
#
##
#
##
#
#
#
##
## #
#
##
#
##
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
###
#
#
#
#
# ##
#
# #
####
####
#
###
#
## #
#
##
#
#
#
#
#
#
#
#
###
#
###
#
##
# ##
#
#
#
##
##
#
#
#
#
###
#
#
####
#
#
#
#
##
##
# ### #
#
#
##
#
#
#
#
# #
##
##
#
#
##
#
#
#
#
## #
#
##
#
#
#
#
#
# #
# #
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
##
# #
#
#
# #
###
##
#
#
##
#
#
##
#
#
#
####
##
#
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
#
#
#
#
###
##
##
# #
##
##
#
#
#
#
#
#
##
##
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
# ##
##
#
#
##
#
##
#
#
#
#
#
#
##
## #
#
##
#
##
#
# ##
##
##
# #
## #
##
# ##
###
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
###
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
# #
#
#
#
##
# #
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
# #
#
#
#
#
###
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
## #
#
##
# ##
#
##
#
##
#
##
#
##
###
# #
#
#
#
## #
#
# ###
#
##
#
##
#
#
#
##
#
##
##
####
# #
##
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
##
##
#
##
#
#
#
##
#
#
#
##
#
##
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# ###
#
#
##
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
##
#
#
#
#
#
#
# ##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
# #
#
##
#
# #
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
#
#
#
#
#
###
#
#
#
#
####
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
###
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
##
##
#
##
##
###
# ###
#
# #
#
##
##
#
#
#
#
# #
#
##
#
###
#
#
##
##
#
# ## #
#
##
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
# ##
#
#
#
##
#
# #
#
#
##
#
#
#
# #
#
#
##
#
##
## #
###
#
#
#
#
##
#
#
#
#
#
###
##
#
#
##
#
#
# ##
##
#
#
#
# #
# #
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
#
##
##
#
#
# #
#
#
#
#
## #
##
#
#
##
#
#
#
##
#
#
#
#
#
# #
#
# #
#
##
#
##
#
#
#
#
#
#
#
###
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
###
##
#
#
#
#
#
##
#
#
#
#
#
##
## #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
# #
##
##
#
#
#
###
#
#
#
##
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
##
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# # #
#
#
# #
#
#
#
#
#
#
#
##
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
##
### #
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
# ## ##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
##
#
# ##
##
#
#
##
##
#
#
#
##
#
#
#
##
###
#
##
#
#
#
#
#
##
#
#
##
#
##
#
#
#
##
# #
#
#
#
#
#
#
#
##
#
#
###
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
##
#
#
#
# ##
#
#
#
#
#
#
# ####
#
####
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
##
#
#
#
#
#
##
# #
###
#
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
###
#
###
#
##
##
#
#
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
###
# ##
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
##
#
#
#
##
##
##
#
#
#
#
#
#
##
# #
#
#
#
### #
#
#
#
# ## #
#
### #
#
#
# #
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
###
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
###
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
###
##
#
#
##
#
#
## #
##
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
##
##
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
##
##
#
##
##
#
#
#
#
##
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
###
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
####
#
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
### #
##
#
#
#
##
##
#
#
##
#
# ##
#
#
##
#
##
#
##
##
## #
##
## #
#
#
#
#
#
## ##
#
## #
#
#
#
##
##
# #
#
#
##
##
##
#
##
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
##
###
#
#
##
##
#
##
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
##
#
#
#
#
#
##
#
##
#
# #
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
###
#
#
#
# #
##
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
##
## ###
#
#
#
#
#
##
#
#
#
#
#
#####
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
## ##
##
#
# ##
#
#
#####
###
#
#
#
#
#
#
#
##
#
# ##
##
#
#
#
#
##
#
#
#
#
# ###
#
# #
##
#
#
#
###
#
#
##
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
#
####
#
#
#
#
#
####
#
#
#
#
##
#
#
#
#
#
#
# ## ##
#
#
#
##
##
#
#
#
#
##
#
#
# #
## #
#
##
#
#
#
#
###
#
#
# #
#
# #
#
#
#
#
#
#
#
#
####
#
#
# ##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
# #
###
#
#
#
#
##
#
#
#
##
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
#
#
#
# ##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
##
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
##
#
##
##
#
#
#
#
#
#
##
#
##
#
###
#
#
#
#
##
#
# #
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
###
###
#
#
#
#
#
##
#
#
#
#
#
#
#
##
###
###
##
#
#
#
##
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
###
##
#
#
#
#
#
##
#
#
##
##
##
#
###
#
#
#
#
##
##
#
#
#
#
##
#
#
##
#
###
## #
##
#
#
#
#
#
#
#
#
##
#
###
#
###
# ##
#
##
###
#
#
#
#
#
#
###
#
#
#
#
#
#
#
###
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
## #
#
#
#
#
##
#
#
#
#
#
#
##
###
##
##
##
##
##
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
## ##
#
#
#
#
##
##
##
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
### ##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
#
#
##
#
##
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
# #
##
# ## #
#
#
#
##
##
##
####
##
#
#
#
#
##
#
#
##
#
#
#
#
###
# #
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
####
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
##
##
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
### #
##
##
#
##
#
#
#
#
#
##
# #
#
#
##
#
#
#
##
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
###
#
#
#
#
##
#
#
###
#
#
#
#
#
#
#
#
##
#
# #
##
#
#
#
#
#
#
## #
#
#
#
#
#
#
##
#
#
#
##
#
###
##
##
#
#
#
##
#
##
#
#
##
#
#
#
#
###
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
##
#
#
#
#
##
#
##
#
##
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
##
##
#
#
# #
#
#
##
#
##
# ##
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
# #
## #
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
# #
#
#
##
#
#
#
#
# #
#
#
#
# ###
#
#
# #
###
#
#
#
#
#
##
##
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
## # #
#
##
##
## #
#
#
#
#
#
#
##
##
##
#
#
#
#
##
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
# ##
#
# #
#
#
#
#
##
#
#
#
##
#
##
#
###
#
#
#
#
####
#
#
#
##
# #
##
#
#
#
###
#
#
#
#
##
#
## #
#
#
#
##
#
##
# ##
#
## #
# #
#
#
#
#
### #
##
#
##
#####
#
#
##
##
#
##
#
# ##
##
##
#
##
#
##
###
##
#
#
###
#
# ##
#
#
#
##
##
#
#
#
##
##
#
##
#
#
## #
##
##
##
# ##
#
#### #
###
##
#
##
#
#
#
#
#
###
#
#
# #
##
##
#
#
##
#
#
#
# ####
##
#
#
#
#
#
#
#
#
##
# #
#
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
##
#
#
#
#
##
# ###
#
#
#
#
#
#
#
#
#
##
#
###
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
# #
##
##
#
# #
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
## #
##
###
##
#
#
#
#
##
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
# ##
##
###
##
#
#
##
##
##
#
##
####
##
#
##
#### ##
#
#
###
#
##
#
##
#
#
#
#
## #
###
##
#
#
# ##
#
##
##
#
#####
##
#
#
###
#
#
##
#
######
#
#
###
#
#
#
#
#
#
##
##
##
#
# ##
###
####
#
###
#
##
#
####
#
#
#
###
#
#
## ##
## ## ##
##
##
#
#
#
##
#
#
##
# #
#
##
####
#
## ##
#
#
##
# #
##
#
##
#
##
#
#
# ##
#
##
##
#
## ##
#
#
##
##
# #
#
##
##
#
#
##
##
#
##
#
##
#
##
#
##
#
#
##
#
##
#
##
##
#
#
#
###
#
#
##
#
# #
#
#
#
#
#
##
# #
#
#
#
##
#
#
#
#
#
#
#
##
#
##
##
#####
#
#
#
##
#
# ##
##
#
##
#
# ##
# #
##
#
#
#
#
##
#
###
####
# #
#
#
#
#
#
#
# #
#
###
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
##
#
##
# #
#
##
###
#
#
##
# ##
#
#
# ##
#
##
##
##
#
#
# ##
#
#
#
###
#
#
#
#
#
#
##
# ##
#
#
#
#
#
#
#
#
### ###
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
##
##
#
##
####
##
##
##
#
##
#
# ##
#
#
###
#
##
#
#
#
#
#
##
#
#
#
###
#
#
#
##
#
#
###
#
##
##
##
#
###
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
## #
#
#
#
#
#
#
#
#
#
##
##
#
#
### #
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
###
#
#
###
##
##
#
###
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
##
#
#
# ###
###
#
##
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
###
#
#
###
#
#
#
###
#
##
#
#
##
#
#
#
#
#
###
#
##
#
#
##
#
## #
#
###
##
#
#
#
#
##
##
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
###
#
#
##
##
#
#
##
##
#
##
##
#
#
###
#
#
# ### #
# #
###
#
##
#
#
## #
####
#
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
##
# #
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
## #
#
##
#
#
#
## #
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# ##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
##
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
###
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
###
#
##
###
# ##
#
#
#
#
#
###
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
##
#
##
#
#
##
##
#
#
##
# ##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
# ###
##
#
##
##
#
#
#
#
#
#
#
##
#
###
#
#
#
##
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
## ##
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
#
##
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
###
#
#
#
##
#
#
#
#
##
##
##
##
# ##
##
#
##
#
##
#
##
#
#
#
# ##
#
#
##
#
### #
#
##
#
# ###
##
#
#
#
###
#
###
#
#
##
#
##
#
##
#
#
#
#
#
#
##
### #
###
#
#
#
#
##
#
#
#
#
##
#
#
###
#
#
#
#
#
##
# ##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
# ###
##
#
#
#
#
### #
#
#
#
##
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
## #
#
#
#
#
##
#
##
##
##
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
## ##
#
# #
#
# #
#
#
##
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
##
# #
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
##
#
#
###
# ###
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
##
##
#
#
####
###
#
##
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
##
###
###
#
#
#
##
##
##
#
#
#
##
#
####
##
#
#
# #
#
# ##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
###
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
## #
##
#
# #
#
#
#
#
##
#
#
##
##
####
##
#
#
##
#
###
#
#
#
#
#
###
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
###
#
##
#
#
##
##
#
#
#
#
#
#
##
#
# #
###
#
#
##
#
#
#
#
# #
#
#
#
#
##
## #
#
#
#
#
#
#
#
#
##
#
#
#
## #
##
##
#
##
#
##
##
##
#
#
#
#
###
#
#
#
##
##
#
#
#
##
#
##
#
##
#
##
#
#
###
#
#
#
###
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
# #
##
#
###
#
##
##
#
#
#
##
##
##
##
#
##
#
#
### #
#
##
##
#
###
#
##
#
#
#
###
#
#
#
###
#
#
#
#
#
####
##
#
#
##
##
###
#
##
#
##
##
#
#
#
# #
#
#
##
##
#
##
#
#
##
##
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
# #
#
#
#
#
##
#
###
#
#
#
#
#
###
#
##
#
###
#
#
##
#
#
##
#
#
#
#
##
##
#
##
# ###
#
#
#
##
#
#
#
##
######
#
#
#
#
#
#
#
#
#
##
#
#
###
####
#
#
##
#
##
###
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
## ##
#
#
#
#
#
#
#
##
#
###
#
##
#
#
#
#
#
# #
###
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
# #
#
##
##
#
#
# ##
##
#
##
#
#
##
#
##
##
#
#
#
##
###
##
#
#
#
#
#
#
#
#
#
#
###
#
#
#
###
#
#
##
#
##
##
#
#
#
#
##
#
#
#
#
#
#
##
##
## #
##
#
#
###
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
##
###
#
##
#
#
# ##
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
### #
##
#
##
#
# #
#
#
# ##
#
#
#
#
# ##
##
#
#
##
##
##
#
#
#
#
##
#
#
#
###
#
#
#
#
#
#
#
##
###
### #
#
# #
#
##
#
#
#
#
## ##
#
###
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
# ##
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
###
#
#
#
#
##
#
#
#
# #
##
#
# #
#
#
#
#
#
##
#
# #
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
##
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
# ##
#
#
#
#
#
####
#
##
##
##
#
##
##
##
###
#
###
#
#
#
#
##
#
#
##
#
#
#
##
#
#
# ##
##
##
#
#
##
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
####
#
#
# ##
#
##
#
#
#
##
#
###
#
#
##
#
#
##
# #
#
#
# #
#
##
#
##
##
#
#
# ##
## #
#
##
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
##
#
##
#
#
#
##
#
#
# #
#
##
#
##
####
#
#
#
# #
#
#
## #
# #
#
#
##
#
#
# ##
#
## #
#
#
#
# ##
#
#
#
## #
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
##
#
#
#
#
#
#
#
#
###
#
#
###
#
#
#
##
###
##
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
####
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
#
##
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
##
#
#
#
#
#
##
#
###
#
#
#
#
#
#
##
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
# #
#
#
##
#
#
#
##
#
#
#
#
#
#
##
###
#
###
#
#
#
##
#
# ##
#
#
#
#
#
#
#
##
#### ##
#
#
#
##
## #
##
#
#
#
#
# #
## #
## #
#
##
#
#
#
##
## ##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
###
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
##
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
###
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
# #
#
#
#
##
#
##
#
##
# #
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
###
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
###
#
##
##
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
###
#
#
# #
#
#
#
#
#
#
#
# ##
#
##
# #
#
#
##
#
#
###
#
#
##
#
#
#
#
##
#
###
##
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
##
#
#
##
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
#
##
#
#
#
#
#
##
##
# #
#
#
#
# #
##
####
#
#
#
#
#
####
#
#
#
##
##
#
# #
#
##
#
##
#
#
#
#
###
#
###
##
#
##
# #
#
##
#
#
#
##
#
#
#
##
##
#
#
#
#
## #
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
##
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
##
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
## #
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
##
##
#
#
##
#
#
#
###
####
#
##
##
##
#
# ##
#
#
#
#
#####
#
#
#
##
#
#
#
##
##
#
#
#
##
# #
# #
#
#
#
#
#
#
##
##
# #
#
#
###
# ##
#
###
#
##
# #
##
####
#
##
##
#
##
#
#
#
##
#
#
##
###
##
##
#
### ###
#
##
#
#
#
#
### ##
#
#
#
#
#
#
##
#
#
#
#
##
#
# #
###
#
## #
#
##
##
#
#
#
##
##
#
#
#
#
###
##
##
# #
#
#
#
#
###
#
###
#
#
##
#
###
##
#
#
#
#
#
##
# #
#
##
#
##
#
##
###
##
### #
#
#
# #
#
###
#
#
#
#
##
###
#
#
#
##
#
##
#
#
## ##
##
#
#
# #
##
#
#
####
#
#
###
#
#
##
#
#
##
#
#
#
#
##
##
#
# #
##
##
##
#
#
# #
##
# #
#
#
#
#
##
##
#
#
# #
#
# #
###
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
##
# #
#
## #
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
# #
#
## #
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
# #
#
### ##
#
##
#
#
#
#
#
#
# #
#
#
##
##
#
#
#
#
##
## #
#
#
#
# #
# #
#
## ##
##
#
#
##
#
#
#
#
##
##
###
#
#
#
#
#
## ##
#
#
#
#
#
###
#
#
##
#
#
##
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
###
#
###
#
#
##
#
#
#
##
#
###
#
#
#
##
##
#
##
#
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
#
#
#
###
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
##
##
#
###
#
#
#
###
#
#
##
#
#
##
#
#
##
#
##
##
##
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
##
# #
##
#
#
#
# #
#
#
#
####
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
# #
#
#
#
#
#
##
#
##
#
##
#
# #
#
#
#
#
#
#
#
##
##
#
#
##
#
##
# #
#
#
#
#
##
#
#
#
#
##
#
###
#
#
#
##
#
# #
##
# #
##
#
#
# #
##
#
# #
#
#
##
## #
##
##
##
##
#
#
#
#
#
##
##
##
#
#
#
#
#
#
# ##
#
###
#
#
#
#
#
##
##
##
#
##
## ## #
###
#
#
#
## #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# ##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
##
#
#
#
#
# ##
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
###
#
#
##
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
## ##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
##
##
#
##
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
###
#
#
##
#
#
#
#
#
#
# #
#
###
#
#
# #
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
# ##
#
##
#
#
##
#
#
#
#
## ##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
# #
#
#
#
#
#
# #
#
###
# #
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
## ##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
# #
##
##
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
# ## #
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
##
# #
#
#
#
#
#
##
#
#
#
###
##
#
#
##
#
#
# ###
#
##
#
#
#
##
##
#
#
##
# ##
#
#
# #
##
## ##
#
#
### #
#
##
#
##
#
#
###
##
#
#
###
#
#
#
##
#
##
#
##
####
#
#
#
#
# #
#
#
#
##
#
##
#
#
#
##
# ##
###
#
#
##
##
##
##
#
##
#
##
##
#
#
###
##
##
##
#
#
#
##
#
# ##
#
###
#
#
###
#
##
#
#
#
#
#
###
#
##
#
#
#
#
#
##
##
#
#
#
#
###
#
#
#
#
##
##
#
#
##
#
###
#
#
#
## #
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
# ###
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
##
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
#
##
#
#
##
#
#
#
#
# #
##
#
##
#
##
#
#
#
#
#
#
##
#
#
## #
##
#
#
##
#
#
#
#
##
##
#
##
# #
##
#
## #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
###
###
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
# #
#
#
# #
#
##
#
##
##
#
##
#
##
#
##
##
#
#
# ##
#
#
#
#
##
##
#
#
##
#
#
#
##
##
#
#
#
#
#
#
##
#
#
# #
#
#
##
#### #
#
#
##
#
##
####
#
##
#
#
###
##
##
#
##
## #
#
#
#
#
#
##
#
#
#
## #
#
##
#
#
#
###
## #
#
#
###
##
#
#
##
##
##
##
#
####
#
#
#
##
##
#
##
##
##
#
# #
##
###
#
##
#
#
##
#
##
#
#
##
##
#
#
#
#
#
## #
#
# ## #
##
##
##
#
###
## ##
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
## #
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
#
# #
##
#
#
##
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
###
#
#
#
#
#
#
#
##
#
##
#
##
##
###
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
# #
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
##
#
#
##
#
##
#
##
#
#
##
#
#
#
#
##
#
#
#
##
# #
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
####
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
# #
#
##
#
##
#
#
###
#
#
#
##
#
#
#
# #
#
##
##
#
#
#
##
#
#
#
#
#
##
#
## #
#
#
#
#
#
##
#
#
#
# ###
#
##
##
###
# ##
#
# ##
##
#
#
#
##
#
##
##
###
#
# #
#
#
#
##
#
#
#
##
#
###
#
##
#
##
# ## ###
#
#
#
#
##
##
##
##
#
#
#
#
#
###
#
#
#
#
#
#
#
# #
#
##
#
#
# #
#
#
###
#
#
#
#
#
# #
##
#
#
#
#
##
#
#
#
#
#
##
#
##
## ##
#
#
## #
##
###
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
#
##
#
#
#
#
#
# ###
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
##
##
#
#
##
#
#
##
#
# ## #
##
##
#
# #
#
#
##
#
#
###
#
#
###
##
# #
#
##
#
# #
#
#
#
###
##
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
# ##
#
#
#
#
#
#
###
#
# ##
##
#
#
##
###
#
#
#
#
##
####
#
#
#
#
#
#
#
#
#
#
#
#
#
## ####
#
#
#
#
#
###
#
# #
##
# #
#
#
#
##
# ##
##
###
###
##
#### #
##
##
#
#
##
#
#
### #
##
#
###
#
##
# #
###
#
##
# ##
#
#
#
##
##
##
# #
#
##
#
#
##
#
##
#
##
##
#
# #
#
#
#
#
#
#
#
#
#
##
#
## #
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
##
##
#
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
# ###
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# ##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
###
#
##
#
#
####
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
# #
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
# #
##
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
# # ##
#
#
#
##
###
##
#
#
#
####
#
## ###
#
##
#
###
###
#
##
#
###
#
#
#
#
#
#
##
##
#
##
#
##
##
#
#
#
#
#
#
#
##
##
#
# #
###
#
###
##
##
#
##
#
## #
# ##
##
##
##
#
#
#
##
## #
##
#
##
### #
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
# ## ##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
# ##
##
# #
#
#
#
#
#
# ##
#
###
#
#
##
##
# #
#
##
#
# ##
#
#
#
##
#
#
##
#
##
#
#
#
#
#
## #
#
##
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
# ###
####
###
#
#
##
# #
#
#
#
##
#
##
##
#
#
##
#
#
##
##
#
##
###
#
#
##
#
##
#
#
#
##
#
#
#
#
#
##
##
##
##
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
##
#
##
#
##
#
#
#
##
#
##
#
#
# #
###
#
#
##
#
#
##
#
###
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
###
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
##
#
# #
#
#
#
###
#
##
#
#
#
#
##
#
##
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
###
#
##
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
####
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
## #
##
#
##
#
#
#
##
#
##
#
#
##
##
#
# #
#
#
##
#
#
#
#
#
#
### ##
#
#
#
#
##
#
##
##
#
#
##
#
#
#
#
#
##
# #
#
#
#
##
#
#
#
#
##
####
#
#
#
#
#
#
#
#
#
#
#####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
##
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
####
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
#
#
###
#
#
##
#
#
# ##
#
#
##
#
# ##
#
##
##
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
###
#
#
#
#
##
#
#
#
#
#
##
##
#
#
#
#
## #
#
#
#
###
###
#
#
#
#
#
#
#
# ##
# #
#
#
#
#
# #
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
#
# ##
#
#
#
##
#
##
#
## ##
##
#
##
##
###
#
##
#
#
##
###
#
#
#
##
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
###
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
#
##
##
#
#
##
#
#
#
#
#
#
#
#
# #
##
#
# ##
#
#
##
#
#
#
#
#
##
##
#
# #
## #
## #
##
##
###
##
#
# #
#
## #
#
#
#
##
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
# ###
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# ##
#
##
#
#
#
##
#
#
###
#
##
# #
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
## #
##
##
#
##
#
#
#
#
##
#
#
#
#
#
##
#
###
####
##
# #
#
#
#
#
#
##
##
#
#
#
#
##
#
##
## ##
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
## #
#
###
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
##
#
#
#
#
# #
#
#
#
#
#
##
##
#
#
##
#
# #
#
#
#
#
#
##
#
#
#
#
#
##
#
###
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
## #
#
##
# #
#
#
#
##
# ##
##
# #
#
##
#
##
#
#
##
##
#
#
#
#
# #
#
###
##
#
##
##
## ##
## ##
#
###
#
##
# #
#
#
#
## #
###
# ###
##
#
##
#
#
#
#
#
##
##
#
##
##
###
#
###
#
##
###
#
#
#
#
##
##
#
#
##
#
###
#
#
##
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
##
# #
#
##
#
#
#
#
#
#
#
##
#
#
# #
##
##
#
#
#
#
## #
#
#
##
##
#
#
#
##
#
#
#
##
##
##
#
# #
#
#
#
#
#
##
#
#
#
##
#
#
#
#
## ##
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
#
#
#
# #
##
#
##
##
#
#
##
#
###
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
##
#
#
##
#
#
#
## #
#
#
#
#
###
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
# #
####
#
#
#
#
# #
#
#
##
## #
##
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
## #
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
###
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
## #
#
#
##
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
####
#
#
#
#
#
####
###
##
#
##
#
#
# ###
#
#
# #
#
#
#
## #
#
#
##
##
#
#
#
##
#
#
#
#
#
#
##
#
#
##
#
###
# #
####
#
#
#
##
##
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
##
##
#
#
#
#
#
# #
#
##
##
##
#
#
#
#
##
#
#
#
#
# #
#
####
###
#
#
#
##
#
#
##
#
#
#
#
#
# #
#
###
#
## #
#
#
#
#
#
#
#
#
#
#
#
####
##
#
##
#
##
##
#
#
#
#
##
#
#
##
#
#
##
#
##
#
###
###
##
##
#
##
#
#
#
##
# ### #
#
# ##
#
#
##
#
###
#
#
#
##
##
#
#
#
##
#
#
#
#
#
##
##
#
#
# ##
#
#
##
#
###
#
#
#
# ##
#
#
#
####
#
#
#
###
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
####
#
##
#
##
##
#
#
#
#
#
#
#
#
##
#
##
#
##
##
#
#
##
##
# ##
#
#
#
#####
#
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
###
#
#
#
#
#
###
#
#
##
##
#
##
##
#
#
##
#
#
#
#
##
##
###
#
##
### #
#
#
##
#
#
##
#
# ## #
###
##
##
##
#
## ###
#
# ##
#
#
#
##
##
##
##
#
#
# #
#
#
#
#
#
#
##
#
##
##
#
#
#
##
#
## ###
###
##
#
###
#
#
#
##
## #
##
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
##
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
###
#
#
##
#
#
#
#
#
#
#
#
# # #
#
##
#
#
#
#
#
#
#
#
###
#
#
#
###
#
# ###
#
#
#
##
#
#
##
#
#
## # #
#
#
# #
#
#
#
###
#
#
#
#
#
##
## ##
#
#
#
#
#
#####
###
#
#
#
#
#
# #
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
#
##
#
#
# #
#
#
#
##
#
# ##
##
# #
#
##
###
#
#
##
#
##
#
#
#
#
#
#
#
# ## #
#
##
#
#
#
#
#
####
#
#
###
##
#
#
##
# #
#
###
#
#
##
#
#
#
#
#
#
#
###
###
#
#
#
##
##
#
#
#
#
#
##
#
#
##
#
#
#
# ##
#
### ##
#
#
#
#
#
## #
#
#
#
#
#
##
#
#
#
## #
#
##
#
#
##
## #
#
##
#
#
##
#
##
#
#
#
##
#
#
##
##
##
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
###
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
##
#
#
##
##
##
#
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
#
#
# # ##
#
#
##
###
#
#
##
## #
#
# ###
##
##
##
##
##
##
#
#
## #
###
#
##
# #
#
#
#
#
#
##
#
#
#
# #
#
##
#
#
##
#
##
#
#
#
#
###
##
#
#
#
#
#
#
##
# #
##
#
#
#
#
#
#
#
#
##
# #
####
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
###
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
# #
#
#
#
##
##
##
#
#
#
#
#
#
##
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
##
###
#
###
#
##
#
#
#
##
#
#
#
## #
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
# #
#
#
#
#
#
##
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
## ## #
##
#
###
#
#
##
# #
#
#
#
#
#
#
#
##
#
#
#
##
##
#
##
#
##
#
#
##
#
###
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
##
#
###
##
#
##
#
#
##
#
#
##
##
#
#
#
#
#
#
##
#
#
###
#
#
##
#
#
#
#
#
## #
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
##
#
###
###
##
# #
#
#
#
##
#
#
#
#
##
#
#
#
##
#
##
##
##
#
#
###
#
#
#
#
#
##
#
#
#
#
##
##
####
#
#
##
#
#
#
# #
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
# #
#
##
#
#
# #
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
## #
# #
#
#
#
#
###
#
#
#
#
#
#
#
#
#
###
# #
#
#
##
##
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
###
###
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
###
###
#
#
#
##
#
#
##
##
#
##
#
###
#
#
#
#
#
#
##
#
##
#
#
#
#
# #
#
##
##
##
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
###
##
##
#
##
#
#
#
##
#
##
#
###
##
#
#
# #
##
#
#
###
#
##
#
# #
##
#
###
##
#
#
### #
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
##
#
# #
#
#
#
##
# #
# #
#
#
##
#
#
###
#
#
#
#
# #
##
#
#
##
###
#
##
##
#
#
#
#
#
##
##
#
##
#
##
#
###
##
#
#
#
#
#
#
# #
##
#
##
##
#
#
#
#
#
##
#
#
#
#
#
# ##
#
##
##
#
# ##
#
#
##
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
##
#
#
##
#
##
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
##
##
#
#
##
##
#
#
#
##
###
##
#
#
#
#
#
##
#
## #
#
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
##
#
## #
#
#
## #
#
#
#
####
#
#
#
##
##
#
#
#
#
#### # #
#
#
#
##
##
#
#
# #
##
#
#
#
#
#
#
##
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
##
##
##
#
#
#
###
#
#
###
##
#
#
#
#
#
##
#
#
# ##
##
##
##
## #
#
#
##
# #
#
##
#
#
#
#
#
#
##
###
#
#
#
#
#
#
###
#
#
#
##
#
###
#
#
#
##
#
#
#
#
#
##
#
#
##
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
##
#
##
#
##
#
# #
##
#
###
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
###
##
#
#
# ##
#
#
#
#
#
# ## #
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
###
#
#
#
#
#
#
##
###
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
##
#
#
# ##
#
#
##
#
#
#
#
##
#
#
####
##
#
# #
#
#
#
#
##
###
#
#
#
##
#
###
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
###
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
##
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
###
#
#
##
#
#
#
##
##
##
###
#
## #
###
#
#
#
#
#
#
#
#
##
#
###
## #
##
# #
#
#
### #
##
#
#
# #
##
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
# ###
###
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
## #
#
#
#
#
##
#
#
##
#
##
##
##
# #
#
#
##
###
#
#
##
##
##
#
#
#
##
#
##
##
#
# #
#
#
## #
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
###
#
#
#
#
#
#
#
## #
##
#
#
#
#
# ##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
##
#
#
# ##
#
#
##
#
#
#
#
##
##
# ##
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
##
#
#
#
#
#
###
#
#
#
#
##
#
##
#
# #
#
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
###
##
#
#
#
#
#
##
#
#
##
#
#
#
# #
#
#
#
#
#
#
##
#
#
##
# ##
#
#
# #
##
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
####
##
#
#
#
##
##
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
## ##
#
##
#
#
# #
#
# ##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
###
##
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
###
#
#
#
#
##
##
##
#
##
#
#
##
#
#
#
#
#
##
##
# #
##
#
#
# #
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
#
##
#
##
#
#
## ## #
####
#
##
##
###
#
###
# #
#
#
# ## ##
##
#
####
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
###
#
#
#
#
##
##
#
#
#
#
#
#
# #
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
####
#
#
#
##
#
#
###
#
#
##
##
#
##
#
###
#
##
##
#
#
#
#
#
####
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
# #
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
# #
#
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
## ###
##
#
## #
##
#
#
###
#
#
#
#
#
#
##
#
#
# #
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
# ###
##
#
#
###
# #
#
#
#
#
# ##
##
#
##
#
#
#
##
##
## #
#
###
#
## ##
#
###
#
#
#
# ##
#
#
#
#
#
##
## #
#
#
##
#
##
#
#
###
#
#
#
##
# ##
##
#
#
##
#
#
###
#
##
##
#
#
##
#
#
#
#
#
##
### ##
##
#
#
#
#
#
##
#
##
#
#
#
#
# ####
##
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
###
# #
#
##
#
##
## #
#
##
#
#
###
##
#
#
#
#
# ##
## #
## #
# #
#
###
#
#
#
##
#
#
#
##
#
##
# #
##
##
#
# ###
#
##
#
#### ##
##
#
##
#
#
##
#
##
#
## #
#
# #
#
# #
#
####
# #
###
##
#
# #
#
#
#
##
#
#
##
# ##
#
##
#
# #
#
#
#
#
#
#
#
#
##
#
###
#
#
##
#
#
#
####
#
### ##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
###
#
##
##
# #
#
#
##
#
#
#
#
#
#
##
#
#
#
##
##
#
#
##
##
##
#
#
#
#
# #
#
#
#
#
###
#
#
#
#
#
###
##
###
#
##
##
#
##
#
##
#
#
##
#
##
#
###
#
##
#
#
##
#
#
##
#
#
##
#
#
## #
# ##
# #
#
###
##
#
# # #
#
#
##
#
#
#
#
#
# ##
##
##
##
#
# #
#
##
#
# #
#
#
#
# # #
## #
##
#
#
#
##
#
#
##
##
#
##
#
#
#
#
#
##
#
#
# ##
#
#
#
###
#
#
#
#
#
## ##
#
#
#
#
#
#
#
#
#
# #
##
##
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
# ##
##
#
##
##
#
##
#
##
#
#
##
##
## ###
####
###
#
##
# ###
#
# ##
##
# ###
## #
#
#
##
#
##
##
##
##
##
#
## ##
##
##
# ###
###
# #
##
##
# #
#
#
#
#
#
#
#
#
#
#
# #
#
##
##
#
#
#
###
#
#
# #
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
##
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
##
###
#
#
#
### #
##
##
#
# #
## ##
#
#
# ##
#
#
#
# ###
##
# #
##
##
#
#
##
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
# #
##
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
##
#
#
# ##
##
#
#
#
######
#
##
#
# #
##
##
#
#
##
#
#
###
## ##
##
# ##
#
# #
# ##
#
#
##
##
##
#
##
# #
#
#
##
###
##
#
##
#
##
#
#
#
#
# ##
#
###
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
###
#
# #
##
### #
#
#
#
#
#
###
#
#
#
#
#
#
#
##
##
#
# ##
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
##
###
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
###
##
#
# ###
#
#
#
##
###
#
#
#
##
##
#
#
##
#
#
#
#
##
#
#
#
#
##
##
#
#
#
# #
##
#
#
#
#
#
## #
#
#
#
##
#
##
##
##
##
####
#
#
#
## #
#
# # ##
#
#
##
# ##
#
## #
##
#
#
## #
##
#
#
#
#
##
#
##
#
##
##
#
##
#
#
##
### #
### ##
#
#
#
#
#
#
##
#
##
#
###
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
###
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
# #
#
#
#
## #
#
##
#
#
##
#
#
#
#
#
# #
#
##
#
#
##
#
#
##
#
##
##
##
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
##
#
#
#
#
#
##
###
##
#
##
# ##
##
#
##
#
#
#
#
#
##
#
#
# #
#
#
##
#
#
#
##
##
#
#
## #
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
###
#
#
#
# ##
#
#
##
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
##
#
#
##
###
#
#
#
####
# ##
#
#
##
##
### #
#
#
#
#
# #
#
##
#
####
#
##
#
# #
#
# #
##
###
#
#
#
#
##
#
##
#
#
##
# #
#
#
#
#
##
#
##
#
#
##
#
#
#
## ##
##
###
#
#
#
#
#
#
##
#
#
#
#
##
##
##
#
#
##
#
#
###
#
#
#
#
#
#
#
##
###
#
#
##
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#### #
#
#
#
#
#
##
#
#
###
#
#
#
#
##
#
#
#
#
#
#
####
#
#
###
##
#
#
#
#
##
#
#
###
##
#
#
###
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
# ##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
##
#
#
#
####
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
##
#
##
##
##
#
#
##
#
#
###
#
## #
#
#
##
##
#
#
#
#
###
#
#
###
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
#
#
#
##
#
##
##
#
#
#
#
##
#
##
#
##
#
##
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
##
#
#
#
#
##
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
# ##
#
#
#
#
#
# #
## #
## # ##
##### #
#
## ###
##
#
###
#
#
##
#
#
## #
# ###
##
# #
#
#
# # #
#
#
#
##
## #
#
#
###
#
## # #
#
#
# ## #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
# #
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
###
#
#
#
# #
##
##
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
##
##
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
###
###
##
#
#
#
#
##
#
#
##
#
#
#
###
#
#
##
#
###
#
###
##
#
##
#
#
#
##
####
##
##
#
#
#
#
## #
#
#
#
##
##
#
##
#
#
##
##
#
#
###
#
##
#
##
#
##
#
#
####
#
##
##
#
#
#
#
#
#
#
##
#
## # #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
## ##
#
##
#
##
#
#
# ##
#
#
#
#
#
#
# #
#
##
#
#
## #
#
#
#
#
##
#
#
##
#
##
#
#
###
#
#
#
#
##
####
## ##
#
#
###
##
#
#
###
## ##
## # ###
##
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
##
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
##
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
# ## #
#
##
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
##
#
##
#
#
###
#
#
##
###
#
#
## #
#
#
#
#
#
# #
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
##
#
##
#
##
##
#
##
##
#
###
#
#
#
#
#
# #
##
#
#
#
#
#
#
## ##
#
#
#
#
#
#
#
#
#
##
##
#
#
##
##
####
# ##
#
#
#
##
##
#
#
##
#
#
##
#
#
#
#
#
#
###
# ##
#
##
#
#
#
###
##
#
#
#
#
##
#
#
#
#
#
#
## ### ##
#
##
##
#
#
##
#
##
#
#
#
##
# #
#
#
#
#
#
#
##
#
##
#
##
#
##
#
##
#
#
#
#
#
##
##
# #
#
#
#
#
##
#
## #
#
#
#
#
#
#
##
##
# #
#
##
#####
# ##
#####
# ##
###
# #
##
##
###
#
####
#
#
#
#
###
#
##
#
##
##
#
##
#
###
##
#
##
#
#
###
## #
##
##
###
#
##
#
#
## ##
####
#
#
#
#
##
###
#
#### #
## #
## #
#
#
#
#
###
# #
##
#
#
#
##
#
#
#
#
# #
#
#
#
#
##
#
##
#
##
#
#
#
#
## #
#
#
#
#
##
#
##
##
#
#
#
#
#
#
#
## #
#
##
#
#
# #
#
#
#
#
#
## #
#
## #
##
##
#
##
#
#
##
## #
##
#
#
##
#
#
#
## #
##
#
#
#
#
###
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
###
##
#
#
###
#
#
#
##
#
#
##
#
# #
##
#
#
##
#
#
##
##
#
#
#
##
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
###
#
#
#
#
###
#
#
##
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
# #
# #
#
#
#
#
##
#
#
#
##
###
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
##
# #
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
##
#
#
###
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
###
#
#
##
##
# ##
#
#
#
#
#
#
# #
#
#
#
##
#
##
##
##
#
#
###
#
#
##
##
##
##
#
#
#
#
#
#
#
# # ##
#
##
###
###
#
#
#
#
## #
#
#
#
###
##
##
#
# ##
#
#
#
#
##
# #
#
# # ######
#
#
#
##
##
#
#
##
##
#
##
##
##
#
##
#
## #
#
#
#
###
#
##
#
#
#
### #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
##
#
#
####
#
#
#
#
# ##
# #
#
#
##
#
#
##
#
##
#
#
##
#
#
#
##
##
#
#
##
#
#
#
#
##
# #
#
#
#
#
#
##
##
#
# #
## #
#
# ##
#
#
#
#
#
##
###
##
#
# #
#
#
#
#
##
##
##
#
#
#
#
##
#
#
#
#
# #
##
#
#
#
#
# #
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
###
#
#
##
##
#
#
#
#
#
## #
#
### #
#
#
##
##
###
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
# ###
#
#
#
#
#
##
###
#
# ##
#
#
##
## #
#
##
#
###
# #
#
# #
###
#
#
#
#
##
#
#
#
#
#
## #
#
#
###
#
#
##
#
#
# ###
#
##
#
#
## #
## ###
#
#
# ##
#
##
# #
#
#
##
# #
##
## #
##
##
#
#
#
##
## ###
#
#
# ###
#
# #
###
### #
# ##
##
#
###
##
##
###
#
#
#
#
#
#
#
###
#
#
#
#
##
##
#
#
# #
#
##
##
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
##
# ##
#
#
#
#
#
#
#
##
#
#### #
#
##
#
#
#
## # #
##
#
##
#
##
##
##
#
#
##
#
#
###
#
#
###
##
#
#
#
#
##
#
#
#
#
#
### #
##
#
#
## #
#
#
#
#
#
#
# ##
#
#
#
##
#
#
##
##
###
#
#
#
##
#
#
##
#
#
#
#
#
## #
# #
#
#
#
##
#
##
#
#
##
#
#
#
#
#
###
#
##
#
#
#
#
### #
#
##
#
#
##
#
#
#
##
# #
#
###
#
##
##
##
##
#
#
#
#
#
#
#
##
###
##
#
#
##
#
##
#
#
###
#
#
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
##
# ##
#
#
#
##
#
#
#
#
# #
#
##
##
#
#
#
#
##
#
#
#
###
#
#
#
#
##
#
#
#
#
###
##
#
##
#
#
##
#
#
##
#
#
# ####
#
##
##
##
#
##
#
#
##
#
#
##
## #
#
# ###
#
#
##
#
#
#
#
#
#
##
## #
##
#
#
#
##
#
#
#
#
##
#
#
#
##
#
# #
#
#
# #
#
#
#
##
# #
#
##
# #
#
#
#
##
##
#
##
#
#
#
#
#
#
####
#
#
#
##
##
#
##
##
#
#
# #
##
##
#
# # #
#
#
#
# #
##
#
###
### ###
#
##
##
#
##
# #
#
#
#
##
#
##
#
#
##
##
#
#
#
#
#
#
#
#
###
#
##
##
##
#
# #
##
#
# #
#
#
#
#
#
#
#
#
##
#
###
#
#
#
#
#
##
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
# #
#
#
###
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
# # #
#
#
#
#
#
#
##
#
#
#
##
#
# #
##
#
#
#
#
#
#
##
#
#
#
##
#
###
#
#
#
#
##
#
#
###
#
#
#
#
#
##
#
##
#
####
#
##
#
##
###
###
###
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
## ##
#
#
##
#
##
## #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
# #
#
###
###
#
#
#
#
##
#
#
# #
#
##
#
#
##
##
##
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
##
##
#
#
#
#
##
##
#
#
#
##
##
#
#
#
# #
#
#
#
#
#
##
#
# #
##
# #
#
##
##
#
##
#
#
##
#
#
# ##
#
#
#
# #
##
#
#
##
#
#
#
#
## #
#
## #
###
##
#
#
#
#
##
#
##
#
##
##
# #
#
#
#
#
#
## #
#
# ##
#
#
#
##
##
#
##
#
##
# ##
#
#
##
##
# ##
#
##
###
#
##
#
#
#
##
##
#
##
###
##
## ###
#####
#
##
#
##
#
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
##
##
#
# #
#
##
#
#
#
#
####
#
#
#
#
#
#
#
#
#
###
#
###
##
#
##
# #
##
##
##
#
#
#
##
#
##
###
#####
#
#
#
#
#
#
#
#
#
##
##
###
##
#
###
##
#
###
# ###
#
##
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
## #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
##
#
#
## #
#
#
##
#
#
#
## #
#
##
#
#
#
##
##
##
#
#
##
# #
#
#
#
##
##
#
#
#
###
##
#
##
#
#
#
# ###
#
#
#
##
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
###
#
#
#
##
##
#
#
#
##
#
##
##
#
#
#
###
#
###
#
#
#
#
#
##
##
#
####
#
#
##
#
# ###
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
##
#
#
##
#
# #
#
##
##
#
#
##
#
##
# #
##
##
##
##
# #
#
#
##
#
#
#
##
##
#
#
##
#
#
#
##
#
##
#
##
#
#
# # #
#
#
# #
#
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
##
#
##
##
###
#
#
#
# ##
#
#
#
#
# ##
#
##
#
#
##
####
#
# #
##
# ##
#
#
#
## #
##
#
#
###
#
#
##
#
###
##
###
#
#
##
##
##
#
# ##
#
#
#
##
#
# #
#
##
#
#
#
#
#
#
#
##
#
# #
##
#
#
#
#
#
#
##
# #
#
#
##
#
##
#
##
##
#
#
##
##
##
# #
##
#
##
#
### #
##
##
#
# ## #
#
#
#
###
####
#
#
#
#
###
### ###
## #
## ### #
###
##
#
##
##
####
#
#
## #
##
#
##
#
####
#
###
##
###
#
##
##
##
###
#
# #
#
## #
#
#
##
#
##
#
###
######
###
## ###
#
#
#
#
#
#
#
#
##
###
#
#
###
#
#
##
#
#
#
#
#
#
## #
#
###
#
## ##
#
# ###
#
# ##
#
#####
#
#
#
#
# ## # #
#
# # #
##
###
### ##
# #
#
###
###
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
##
#
#
#
##
# #
#
##
##
#
#
#
##
#
#
#
##
#
#
#
#
###
#
###
#
#
#
#
#
##
#
##
#
#
#
#
##
##
#
#
#
#
#
##
#
#
# ##
###
#
#
##
#
##
#
#
#
#
##
##
#
#
#
##
##
##
##
##
#
#
# ###
##
##
##
# #
###
##
## #
##
#
##
#
##
#
###
##
#
#
##
#
#
##
##
# #
#
##
##
### #
##
#
#
### ##
###
#
#
#
##
##
##
#
##
#
###
##
##
##
#
#
#
#
#
#
#
# ####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
###
# #
#
#
# #
# ## #
#
#
###
##
#
# #
#
#
#
#
#
#
#
#
# ####
### #
#
#
#
#
#
#
#
##
#
##
###
#
##
##
#### #
# # ## ###
##
#
##
###
## # ##
###
#
#
## #
##
##
###
## ###
## #
#
###
#
#### #
#
#
##
#
##
##
#
##
# #
##
# #
###
#
#
# ###
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
###
#
# # ###
# ##
###
#
#
#
#
## #
# ##
##
# ###
#
##
###
#
#
# ## ##
#
## ## ##
# #
#
##
###
# #
#
# ##
#
#
#
# ##
#
#
# #
# ##
#
##
##
##
###
#
#
#
#
##
#
#
#
# #
#
##
#
#
#
#
##
##
##
#
# ###
###
#
###
##
#
#
#
##
#
#
#
#
####
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
# #
##
###
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
## #
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
##
#
#
# ##
#
# #
#
#
#
#
##
###
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
##
#
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
###
###
# ##
#
#
#
##
##
##
#
#
#
# #
#
###
# ##
##
#
##
####
##
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
###
#
#
# #
###
# # ##
##
#
#
#
####
#
#
#
#
#
##
##
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
####
#
##
##
#
#
#
#
## #
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
# #
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
####
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
##
#
##
##
##
#
#
# #
#
# ##
# #
##
#
# #
#
#
#
#
# #
#
##
#
#
#
#
#
##
#
#
#
#
##
#
##
# ##
#
#
## #
##
#
#
##
#
##
#
##
#
##
#
#
#
#
#
#
#
# #
##
#
####
#
#
##
#
##
##
##
##
#### #
## #
#
##
###
#
#
#
#
#
###
##
#
# ##
##
#
##
##
# #
##
## #
##
#
#
#
#
##
##
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
## ##
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
# #
#
# #
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
##
#
# ###
#
#
##
#
##
#
###
###
##
#
#
##
#
###
#
###
# ###
##
#
#
#
#
#
#
#
##
###
#
##
# #
#
#
#
#
#
#
# #
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
##
##
#
#
#
##
#
##
##
###
#
#
#
##
#
##
#
#
##
#
#
#
##
#
##
###
#
#
#
#
## #
##
#
## #####
##
#
#
#
#
#
#
#
###
#
#
#
#
#
#
# ####
#
#
#
##
#
##
##
#
#
##
#
#
#
#
#
##
##
##
# #
# #
#
#
#
##
#
##
#
#
#
##
#
##
###
#
#
##
##
###
#
###
#
##
#
#
#
#
#
#
#
# ##
#
# # ##
#
##
#
##
##
##
#
# #
#
#
#
#
###
#
#
#
#
#
#
# #
##
#
#
#
##
#
#
#
#
#
#
###
#
#
##
#
#
#
#
##
#
#
####
#
#
## ###
#
#
###
#
#
#
# ##
#
#
## ##
#
##
# #
##
## ###
#
# #
##
#
# ##
#
#
#
## # ##
#
##
###
##
#
# #
#
#
#
#
#
##
##
##
#
#
#
#
##
##
##
####
#
#
#
##
#
#
#
#
# ### #
#
##
#
#
##
##
#
#
#
#
##
#
## # #
####
#
##
#
#
#
#
#
## #
#
#
#
#
#
##
#
##
#
#
#
##
#
#
##
#
#
##
#
##
#
#
#
##
#
#
#
## #
##
#
#
###
#
# #
#
#
##
#
##
#
#
#
##
##
## #
##
#
#
#
##
#
##
#
##
#
#
## #
#
#
#
#
###
#
##
#
#
#
#
#
#
##
# ##
#
#### #
1200
1400
1200
1100
4001000
900
1100
500
800
600 700
1300
700
600
1200
1100 500
1300
700
600
500
4001500
1400
1300
1200
1100
1000
900
1200
400
500
600
700
600
1100
600
600
700
1000 1000
800
900
600
1400
400900
500
800
600
500
400
1300
700
1200
900
1000
800
1100
400900
400
1000
700
500
400
700
800
900
1300
400
900
1200
800
700
1100
1300
1000
600
700
900
800
600
1200
500
400
700
600
1100
1000
900
800
700
500
600
600
500
500
400
700
500
600
500
400
# #
# ## ##
#
$
##
#
#
# ##
#
##
#
#
#
#
#
##
## #
#
# #
# ##
$#
##
##
#
##
##
#
#
#
##
#
###
# #
#
###
###
#
#
#
## # #
##
#
##
##
# # #
#
#
# ## ## ##
#
## # #
## # ##
## # #
##
#
##
# # #
## ##
#
# #
##
# #
#
#
# #
###$
###
#
#
#
#
# ##
#
##
##
#
#
#
#
ShannonLake
O k a n a g a n L a k e
342
KalamoirRegionalPark
I.R.#10
Mount BoucherieRegional Park
Shannon LakeRegional Park
LakeviewHeights
R o
s e
V a
l l e
y
L a
k e
Rose ValleyRegional Park
Raymer BayRegional Park
Bear CreekProvincial
Park
Traders CoveRegional Park
TradersCove
Wes
tsid
e El
ecto
ral A
rea
City
of K
elow
na
PoplarPoint
WestKelownaEstates
M c D
o u g a l l C r e e k
S m i t h C
r e e k
IR#9
L a m b l y ( B e a r ) C r e e k
Highway 97
Wes
tsid
e E
lect
oral
Are
aC
ity o
f Kel
owna
M i s s i o
n C r e e k
Mission
Creek
Greenway
Regional
Park
82L013
82L003
82E093
82E083
82E082
82L004
82E094
82E084
82E07482E073
Sensitive Ecosystem InventoryRegional District ofCentral Okanagan
82E.083Map Sheet Approximate:
500 0 500 1000 1500
Meters
Scale 1 : 20,000
Contour Interval: 20 metersProjection: UTM; Datum: NAD83; Spheroid: GRS80
Sensitive Ecosystems are ecosystems that are ecologically sensitiveand or rare in the landscape. These areas also have significantbiodiversity values and provide many habitat features required bythreatened and endangered plant and animal species.
Rationale
The central Okanagan basin of British Columbia is an area of greatecological significance within both the province of B.C. and Canadaas a whole. It is an area with high biodiversity values, and many rareand endangered ecosystems, plant and animal species. The warmdry climate of this valley has long attracted humans to live here.The Okanagan Valley is also the area with the highest populationdensities in the interior of British Columbia and has a rapidly growingpopulation. This area has been subject to extensive agriculturalconversion, significant changes to ecosystem structure and functionthrough fire exclusion, and intense urban and rural developmentpressure. These pressures have resulted in the loss, fragmentation,and degradation of many of these natural areas. This SensitiveEcosystems Inventory (SEI) was initiated by the Regional Districtof the Central Okanagan to provide an inventory of the remainingrare and fragile ecosystems and habitats for many wildlife species tosupport sustainable landscape level land-use decisions and toencourage private land stewardship.
Ecological Significance
These sensitive terrestrial ecosystems are ecologically significantbecause of their rarity and fragility and as a result of the greatdiversity of species they support, including habitat for many rare andendangered species.
Moist and wet ecosystems are key ecosystems in a climate thatprimarily supported dry, open forests and grasslands historically.They support a rich diversity of species and have important hydrologicfunctions including filtering out pollutants, safely storing and releasingwater (especially during peak flows), preventing stream bank erosionand maintaining water quality and water temperatures.
Wetland ecosystems are extremely important because of their naturalrarity in this area with few collecting sites and because many of themhave been lost to development. Wetlands include marshes, swamps,and small water bodies. They support a wide diversity of organismsincluding food, shelter, and breeding sites for ducks, songbirds, fish,amphibian, and invertebrate species.
Wetland Ecosystems
Riparian ecosystems include benches along streams and rivers,gullies with intermittent or permanent creeks, and fringes of lakesand ponds and sites with significant seepage. These sites frequentlyform natural corridors through the landscape, connecting otherecosystems and providing passageways for animals. Damming,diversions, channelization, draining, and pollution have seriouslyaffected many riparian ecosystems.
Riparian Ecosystems
Old forest ecosystems are ecosystems that are dominated by large,old trees. Most of these forests have been lost to selection loggingof larger trees, ingrowth of dense trees resulting from fire exclusion,and development. Only small remnants of these forests remain today.Old forests and the old trees in them provide important habitat formany species including many woodpeckers, owls, and mule deer.
Old Forest Ecosystems
Grassland ecosystems are dominated by bunchgrasses but also havea wide diversity of forbs. Large areas of grasslands have been lost toagricultural and urban development and noxious weed invasion.Most of the remaining grasslands have been converted to disturbedgrasslands (see Other Important Ecosystems) through partial invasionby noxious weeds.
Grassland Ecosystems
Broadleaf woodland ecosystems are dominated by trembling aspentrees and include broad, moist basins in grassland areas. They aretypically very shrubby and provide important habitat for many birds,reptiles and mammals. These ecosystems are quite rare and theirmoist nature makes their soils sensitive to disturbance.
Broadleaf Woodland Ecosystems
Coniferous woodland ecosystems are like forests, but have very opencanopies or only scattered ponderosa pine or Douglas-fir trees. Theymost commonly occur on very dry sites where soils are shallow or veryshallow. Many sites have been lost to development and many areashave been altered by ingrowth of trees associated with fire exclusion,weed invasion, and other human disturbances.
Coniferous Woodland Ecosystems
Sparsely vegetated ecosystems occur on sites where exposed bedrockor rocks limit the places where vegetation can grow. They include cliffs,rock outcrops and talus slopes with sparse shrub or grass/herb cover.Many of these ecosystems are rare and their coarse or shallow soilsmake them sensitive to disturbance. They provide important habitat forbats, snakes, and raptor nests.
Sparsely Vegetated Ecosystems
Other important ecosystems are not sensitive ecosystems but havemany important values associated with them. They include matureforest and disturbed grassland ecosystems.
Other Important Ecosystems
Mature forest ecosystems provide important buffer sites, provide someof the values associated with old forest ecosystems and are recruitmentsites for old forests.
Mature Forest Ecosystems
Similarly, disturbed grassland ecosystems still provide many of theimportant habitat values associated with grasslands, but they havesome weeds (10 to 50% noxious weeds) or have lost many climaxgrassland species. Given the very limited extent of remaininggrasslands, these are important sites for grassland restoration andmaintenance of many grassland values including habitat for many rareand endangered species.
Disturbed Grassland EcosystemsData Limitations
The map is intended to be used as a flagging tool to accompanyplanning processes and management of land resources in the studyarea. For site-specific evaluations, more detailed field assessmentsare needed. The accuracy of the boundaries of the mapping is limitedby the scale of the aerial photographs used (1:15,000).
Enlargement of the data beyond the source scale may result inunacceptable distortion and faulty registration with other datasets.Rapid changes are ongoing within the study area making it importantto refer to the dates of information sources.
Credits
Participating Agencies:
Regional District of the Central Okanagan, Ministry of Sustainable ResourceManagement (MSRM), Conservation Data Centre (MSRM), Canadian WildlifeService (Environment Canada) and the Habitat Conservation Trust Fund.
Base Terrestrial Ecosystem Mapping:
Iverson, K. and C. Erwin. 2001 and 2002. Ecosystem Mapping of Portionsof the PPxh1 and IDFxh1 in the Central Okanagan. Prepared for the RegionalDistrict of the Central Okanagan and the Ministry of Sustainable ResourceManagement.
Sensitive Ecosystem Themes:Conversion tables were developed by Kristi Iverson (Iverson & MacKenzieBiological Consulting Ltd.) and Carmen Cadrin (MSRM).
Base Mapping Data:
Selected digital layers are from the Terrain Resources Information Management(TRIM) Program, Geographic Data BC, Ministry of Sustainable ResourceManagement.
Digitizing:
Bon Lee (Baseline Geomatics Inc., Victoria, B.C.)
Cartography:
Iain Lawrence (Regional District of the Central Okanagan, Kelowna, B.C.)
Funding:
Regional District of the Central Okanagan, Ministry of Sustainable ResourceManagement, the Habitat Conservation Trust Fund, and Environment Canada.
For further information please contact:
The Regional District of Central Okanagan (250) 868-5227
Methodology
The entire study area was systematically ecosystem mapped followingprovincial Resources Inventory Committee standards. Bioterrain andecosystem polygons were delineated on 1:15,000 scale colour stereoaerial photographs from Geographic Data BC taken in 1994 and 1996.Field sampling (survey intensity level 4; 15-25% of polygons are fieldinspected) was used and a total of 19% of polygons were inspectedin the field during the summers of 2000 and 2001. Three differenttypes of plots were used, each with different levels of detail: 42 fullplots, 192 ground inspections, and 505 visual inspections werecompleted. Following fieldwork, bioterrain labels were updated andecosystem labels were generated for each polygon using aerialphotography interpretation and field data. Up to three ecosystemswere mapped in each polygon and were assigned proportions of thepolygon that they occupy (to the nearest 10%). Linework on photo-graphs was digitized using the monorestitution method, databaseswere compiled, reviewed, and verified, and digital (ArcInfo) andhardcopy maps were produced.All ecosystems mapped wereevaluated for rarity and sensitivity and an algorithm was developed toconvert ecosystem labels to Sensitive Ecosystem and Other ImportantEcosystem labels (and to eliminate those ecosystems not consideredsensitive). Each Sensitive Ecosystem and Other Important Ecosystemhas been assigned a colour and random dots of those colours havebeen applied to polygons proportional to their presence in the polygon.The location of these dots does not reflect the specific location ofthat Sensitive Ecosystem within the polygon.
N