1
Colorado Oil and Gas Conservation Commission
Overview of Oil and Gas Development in Colorado and COGCC Activities
Presentation toSan Miguel County January 14, 2005
Brian Macke – DirectorDavid Dillon – Supervising
Engineer
2
STATE OF COLORADO
STATE B O AR D O F LAN D C O M M ISSIO N ER S
G EO LO G IC SU R VEY
O IL AN D G AS C O N SER VATIO N C O M M ISSIO N
D IV IS IO N O F M IN ER ALS AN D G EO LO G Y
W ATER C O N SER VATIO N B O AR D
D IV IS IO N O F W ATER R ESO U R C ES
D IV IS IO N O F PAR K S
D IV IS IO N O F W ILD LIFE
DEPARTMENT OF NATURAL RESOURCESRUSSELL GEORGE - EXECUTIVE DIRECTOR
3
PROMOTE THE RESPONSIBLE DEVELOPMENT OF COLORADO’S OIL AND GAS NATURAL RESOURCES
Responsible development results in:
The efficient exploration and production of oil and gas resources in a manner consistent with the protection of public health, safety, and welfare
The prevention of waste
The protection of mineral owners’ correlative rights, and
The avoidance of adverse environmental impacts
COLORADO OIL AND GAS CONSERVATION COMMISSION MISSION STATEMENT:
ExecutiveDirector
R. George
DirectorB. Macke
DeputyDirectorvacant
COMMISSION
Information ManagerT. Kerr
Fiscal Manager
W. Schultz
Deputy DirectorOf Operations
M. Bell
HearingsManagerT. Beaver
Info. ProcessingSupervisorS. Tansey
Network Admin.IT Prof I
J. Glossa
Permit Supr.Phys Sci Tech III
L. Pavelka
Engr. Supr.Prof Eng IID. Dillon
NW Area Engr.ParachuteProf Eng IJ. Adkins
North Area Engr.Prof Eng I
DenverD. Shelton
Envir. Supr.Envir Prot
Spec IVD. Baldwin
Admin AsstAdmin Asst III
A. Gipson
Prod/LevyAnalyst
Data Spec ID. Fairlamb
Prod/LevyAnalyst
Data Spec IC. Rensel
GIS AdministratorPhy Sci Res/Scientist II
J. Milne
South Area Engr.Prof Eng IL. Robbins
NW Area Insp.Parachute
Phys Sci Tech IIJ. Krabacher
Envir. SpecialistEnvir Prot
Spec IIL. Avis
Engr. Supr.Prof Eng IIE. DiMatteo
Records Admin.Admin Asst IM. Greenstein
Permit/Compl TechPhys Sci Tech II
E. Winick
SE InspectorTrinidad
Phys Sci Tech IIJ. Duran
S. WattenbergWeld Co. Insp.
Phys Sci Tech IIE. Binkley
COLORADO OIL & GAS CONSERVATION COMMISSION ORGANIZATION
Records Admin.Admin Asst I
D. Geimausaddle
Permit/Compl TechPhys Sci Tech II
D. Ahlstrand
Imaging Sys AdminAdmin Asst III
M. Ramos
Data EntryOperator IL. Sevall
SW InspectorDurango
Phys Sci Tech IIM. Weems
NE InspectorSterling
Phys Sci Tech IIK. Lively
Envir. SpecialistEnvir Prot
Spec IIR. Ferguson
Envir. SpecialistEnvir Prot
Spec IIB. Chesson
Version 79 –1/5/2005
Surety Admin.Program Asst II
M.Choury
Executive Asst.K. Zimmerman
5
#
#
#
##
#
##
#
#
#
#
##
###
####
##
#
#
##
#
#####
#
#
#
#
######
#
#
#######
##### #
#
#
#
#
#
#
#
#
###
####
##
#
###
#
### #
####
################################## ######
###
#####
##
#
##
#
#
#
#
#
#
##
#
###
##
####
#
#
##
#
#
#
#
#
##
# #
#
##
##########
##
#
#
#
########
#
####
#
#### #
##
#
#
#
#
#
#
#
#
#
###
#
## #
#
#
#
###
###
##
## #### ###
##
#
##
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#######
#
#
#
##
##
#
##
###
# #
#
#
#
#
#
##
##
#
#
#
#
#
#
###
#
#
##
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
###
#### ######
###
#
###
#
####
#
#
##
#
#########
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# ##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
# ##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
## #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
###
#
#
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
# ##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
# #
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
##
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# # #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
###
#
#
#
#
#
# #
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
###
#
#
#
#
#
#
#
#
## #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
# #
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
# #
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
##
#
#
##
#
#
# #
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
# ##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
## ## #
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
# #
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
###
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
# ##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
# #
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
##
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
# ##
#
#
#
#
# ##
##
###
#
#
###
# ### ###
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
# ##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
### #
#
#
##
##
#
#
#
#
#
# ##
#
##
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
##
#
#
#
#
##
##
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
###
#
#
###
#
##
#
##
##
#
#
#
#
##
###
##
#
##
#
#
#
#
####
#
#
#
#
#
#
##
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
###
#
#
##
##
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
###
#
## ###
##
####
#
#
#
#
#
#
# ##
#
#
#
####
#####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
####
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
# ##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
## ###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# ##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#####
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
##
###
#
#
#
##
#
##
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
###
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
# ##
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
##
#
#
#
#
#
#
###
#
# ####
#
##
#
###
##
#
#
##
#
#
#
# ##
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#####
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
######
#
#
#
#
#
##
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#####
#
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
##
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
##
###
##
#
#
#
#
##
###
##
#
#
#
##
# ##
#
#
#
### #
#
#
###
#
### ##
#
##
#
##
#
##
#
#
#
## #
#
######
#
#
#
#
##
#
# #
#
#
#
#
##
#
##
#
#
# ####
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
###
##
#
##
#
#
##
#
##
##
#
#
##
#
###
##
##
######
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
# ####
##
#
#
#
#
##
#
#
#
#
##
# #
#
#
#
#
#
##
##
#
#
#
#
#
##
#
##
## ###
#
##
#
###
#
###
#
#
#
#
#
###
#
###
#
#
####
#
#
#
#
###
###
#
#
#
#
##
#
#
#
# #
######
#
##
#
#
#
#
##
###
#
#
#
##
#
#
###
#
#
##
###
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
### #
#
#
#
##
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
# ## #
#
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#####
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
##
#
##
#
##
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
# #
#
##
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
# #
##
#
#
#
#
#
#
# ##
#
#
##
#
##
#
##
#
#
#
#
#
#
#
# #
#
#####
#
#
#
#
##
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
###
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
####
#
## ###
#
##
#
###
##
#
#
###
#
#
##
#
###
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
# #
#
##
#
##
#
#
##
#
#
#####
#
#
###
#
#
#
#
#
#
#
##
#
##
##
#
##
##
#####
#
# ####
#
#
#
##
###
#
#
### ###
##
#
#
#
#
#
#
#
#
##
# #
#
#
#
##
#
#
#
####
##
#
#######################
############################################################
#
### #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
#
#
##
#
#
#
###
#
#
#
#
#
#
###
#
##
#
#
#
#
#
##
####
#######
#
##
#
###
#
###
########
####
#
#
#
#
#
#
###
#
## #
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
####
##
###
#
####
####
###
#
#
######
#####
##
#
#
#############
#
##
#
#
#
#
####
#
#
#
#
#
###
###
#
##
######
####
#
#######
##
#
#####
##
#####
#####
#
##
#
##
#
## ####
#
#
#
#
###
#
##
########
#
##
#
#
##
###
##
#
###########
##
#
#
##
###
##
#
##
#
####
#
###
#
#
#
#
#
##
#
#
#
########
#
#
###
#
#
##
#
#
##
#
#
#
#
##
#
#
##
#
##
##
#####
#
###
#
#
###
#
#
#
##
###
#
#
#
##
#
#
#
#
###### ##
##
#
##
#
#
##
#
###
#
#
#
##
#
######
#
#
##
#######
#
##
#
#######
##
##
#
#
#
##
#
#
#
##
#
#
#
#
#
# ###
#
#
#####
##
#
#
#
#
###
#
#
#
#
# #
##
##
##
##
#########
####
##
#####
##
##
#
##
#
##
#
##
##
# #
#
#
###
####
####
#
##
#
###
#
#
##
#
#####
#
###
#
#
##
####
####
#
#
#
#
#
#
#
#
#
#
#
#####
#
#
#
##
##
##
##
#
## #
#
#
#
###### ###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
##
########
#
#
#
###
##
#
#
#
#
#
#########
##
##
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#####
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
###
#
# #
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#####
#
#
#
###
##
#
#
#
#
#
#
#
####
#
#
#
##
##
#
#
#
#######
#
#
#
#
## ###
#
#
#
#
#
##### #
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
##
#
## ##### #
#
## #
##
#
###
#
## ##
#
# #
#
#
#
#
#
#
#
#
#
##
##
# #### #
##
##
##
#
#
#
#
#
#
#############
#
#
##################################
################# ##############################################
#
######
#
#
#
#
#
#
#
#
#
#######
##########
#
###
#
#
#
##
#
#
#########
##########
#
#
###
#
#
#
#######
#
#
##
#
#
##
#
###
#
#
#
#
###
#
#
##
#
#
# #
####
##
#
###
#
##
##
#
#
##
#
#
#
#######
#####
###
#
#
#
##
#
####
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
####
#
#
#
#
#
# ### ## ####
#
####
#
##
#
#
#
#
### #####
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
# #
#######
#
##
#
###
#
##
################
#
#
# ## # #
#
#
##
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
##
#
#
#
#
#
#### #
#
#
#
#
#
#
#
#
##
#
###
#
############
################
###
##
###
#
####
####
##
#
#
#
##
##
##
#
####
#
#
#
## #
#
#
###
##
#
#
##
###
#
####
#
#
#
## #
###
#
#
#
##########
#
########## #### #
#
##
##
#
#
#######
#
##
#
#
##
##########
#
###
#
#
#
## ##
##
#
#
#
#
#
#
#
#
#
###
#
#######
############
####
### ##
###
##
##
#
##
#
#
#
#
#####
#
## #
#
#
# #
#
###
#
####
#
#
#
##
##
##
#
#####
###
###
#
##
#### #### #
#
#
##
#####
#
#
##
#
#
#
###########
###########
#
#
##
#### ###
##
#
#
#
#
#
#
### ########
#
#
#######
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
######
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
###
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
##
##
#
#
#
#
#
##
##
#
###
#
#
#
#
######
#
# ##
#
##
#
#####
##
#
#
#
##
#
#
#
#
#
#
#
#####
#
#
#
#
##
##
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
####
#
##
## #
###
##
#
# #
# #
#
######## #
#
#
######
#
#
#
#
#
#
#
#####
#
#
#
#
# #
##
#
#
##
#
#
##
#
#
###
##
#
#
#
###
#
#
#
#
#
#
#
#
##
#
##
##
#
##
#
##
#
###
#
#
#
######
#
#
##
##
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
########
#
##
#
#
##
##
# ##
#
#
#
####
##
#
####
#
#
#
#
#
#
#
#
#
#
#
##
#
#
####
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
####
##
####
#
#
##
##
#
#
#
#
#
##
# ##
####
#
#
#
#
#
#
#
##
#
#
#
##
#
# #
#
####
########
#
##
###
#
#
# #
#
#####
#
#
##
###
#
#
#
##
#
#
#
###
#
#
##
###
#
#
##
#
#
# #
##
#
#
## ##
##
#
## #
#
##
###
#
###
#
####
##
#
######
#
#
#
#
#
#
## #
#
#
##
##
#
#
#
#
####
#
#
#
##
#
#
##
##
#
#
#
##
############
#
#
##
####
# ####
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
###
###
#
#
#
#
##
#
#
#
#
#
###
##
#
##
#
#
#
#
#
#
#
#
####
###
###
#
##
#
##
#
#
#
###
## #
#
#
#
#
#
# #
########
##
#
#
#
#
#
#
###
#
#
##
### ###
##
#
#
#
#
#
#
#
#
#
#
#
#
# ###
#
########
#
###
##
#
#
#
#
#
##
#
## ###
#
#
#
##
#####
#
#
##
##
#
#
#
#
## #
#
#
##
#
#
#
#
##
##
#
# ##
#
##
#
#
##
#
#
#
#
#
#
#
#
##
####
##
##
#
#
###
#
#
#
##
##
#
#
#
###
##
##
# #
#
#
#
#
#
##
###
#
#
#
##
# #
##
#
##
#
#
#
#
##
#
#
##
#
##
#
#
###
##
##
##
##
####
#
######
#
##
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
###
#
#
#
#
#
##
##
#
#
##
#
##
#
#
#
# #
#
#
#
##
#
#
#
#
#
#####
#
#
##
#
#
#
#
#
#
#
#
#
#########
#
#
#
#
#
#
#
###
##
##
#
#
##
#
###
#
#
#####
#
##
#
#
#
#
##
#
#
###
#
#
#
##
# #
#
#
#
#
#
#
##
##
#
##
#
##
##
#
##
#
#
#
#
###
#
##
#
#
#
#
#
#
#
###
#
#
##
#
#### #
#
###
##
#
###
#
##
#
#
#
# #
## #
#
#
#
#
##
###
#
#
#
#
#
##
#
#
#
#
# #
#
##
#
#
##
#
#
#
#
#
#
#
#
##
# ## #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# ## #
#
##
#
#
##
################
#########
#######
# #
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
### #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
## #
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
###
#
##
#
#
#
#
#
###
#
#
#
#
##
#
#
#
#
#
#
#
#
#
## ##
#
#
#
#
##
##
#
##
#
#
#
#
#
#
#
#
#
##
#
## ## #
##
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
# #
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
## ##
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
###
#
#########
#
###
# ##
#########
#####
##
#
#
##
#
#
#
###
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
# #
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
# ###
#
#
## #
#
#
#
#
##
#
#
#
##
####
#
#
#
#
##
#
#
#
#
#
##
#
#
#
###
#
#
#
###
#
###
#
#
#
# #
#
## ##
#
##### ###
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
##
#
## #
#
#
#
#
#
#
#
##
####
##
#
#
##
#
#
#
#
#
######
###
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
############
#
#
#
##
##
##
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
# #
#
#
##
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
#
# #
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
# #
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
##
#
#
#
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# #
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
##
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
##
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
# #
#
#
#
#
#
#
#
#
##
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
# #
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
##
#
##
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
# ##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
###
##
#
#
#
#
####
#
#
#
#
#
#
#
#
#
###
#
#
#
##
#
#
#
###
#
#
#
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
####
#
#
#
#
###
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
## #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
# #
#
# #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
# ##
#
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# ##
##
##
#
#
#
#
##
#
#
#
##
#
#
#
##
#
## ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
# ###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# ##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
#
##
##
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# #
#
#
##
#
#
#
#
#
#
#####
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
##
# #
#
#
#
#
#
######
#
##
#
### ##
##
#### #
#
#
#
#
#
#
# ####
#
#
##
### ##
#
#
#
# ##
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# ##
##
#
#
#
##
#
#
#
#
#
# #
#
##
##
##
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
# #
# ##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
#
##
#
#
#
#
#
#
#
##
#
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
##
#
#
#
##
#
#
#
##
#
###
# #
#
#
##
#
#
#
#
#
#
#
#
# ###
#
#
##
#
#
# ###
#
###
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
#
#
# #### # ##
#
#
#
#
#
#
#
## #
#
#
#
#
#
#
#
#
# ##
#
##
#
#
#
#
#
##
##
#
#
##
#
##
#
#
###
#
##
###
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
####
##
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
##
## #
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
#
#
##
#
#
##
#
#
#
# #
##
#
#
#
# #
#
#
#
#
#
##
#
#
##
#
##
#
###
#
#
###
#
#
#
##
#
##
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
####
##
#
####
#
#
#
# ### ##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
####
#
##
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
##
#
#
#
#
#
#
#
##
#
##
##
###
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
##
#
##
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
####
#
#
#
#
#
#
# ###
#
#
#
#
#
#
#
#
#
### ##
#
#
#
####
###
#
##
#
#
#
# #
#
# #
#
# #
#
####
##
##
#
#
# ##
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
###
##
##
#
##
#
#
#
#
##
#
##
#####
#
###
#
#
##
#
#
#
#
#
#
#
#
##
###
#
#
#
#
#
##
#
# #
#
#
#
#
#
#
#
#
#
#
# #
#
###
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
# ##
### #
#
#
#
#
#
#
#
#
##
#
##
#
####
###
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
# #
#
#
#
#
#
#
#
##
#
# ####
#
#
#
##
####
#
##
#
#
#
#
#
#
##
#####
#
#
#
#
#
## #
#
###
#
##
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# ##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
#
#
##
#
## #
###
#
#
###
#
##
# #
##
#
#
#
#
#
#
##
###
#
#
#
#
#
#
#
#
#
###
#
########
#
##
##
#
####
##
##
#
#
#
##
#
# #
#
##
#
##
#
#
#
#
#
##
####
##
### #
#
##
#
##
#
#
#
##
######
#
#
##
## #
#
# ###
####
#
#
###
###
##
#
######
##
#
#
#
#
#
#
#
#
####
#
#
# #
##
#####
#
#
#
# #
#
# #####
##
#
#
###
##
#
#
#
#
#
# ## ##
##
##
#
###
#
#
#
#
##
#
##
#
####
######
##
#
##
#
#
#
#
#
###
##
#
#
###
##
#
###
###
#
#
#
#
#
#
#
#
##
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
###
##
##
#
##
#
#
###
#
#
#
#
#
#
#
####
#
#
###
#
#
##
#
#
#
#
#
#
#
##
#
#
###
##
#
#
#
#
#
#
##
##
#
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
#
###
#
#
####
#
#
#
#
#
#
#
#
##
###
#
#
#
##
#
###
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
###
#
#
##
#
#
#
#
#
#
###
##
#
##
##
#
# ###
#
# # ##
#
#
#
#
#
##
#
#
#
#
#
###
###
#
##
# #
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
# ##
#
#
#
#
# # #
#
###
###
# #
##
#
##
#
#
#
##
#
#
####
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
##
#
## #
#
#
#
#
##
#
#
#
#
##
#
#
#
# #
#
##
###
#
##
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#######
#
#
#
#
#
###
#
##
#
####
##
##
#
#
#
###
##
#
#
#########
#
#
#
###
#
##
#
#
####
### ##
####
#
#
#
##
##
#
#
#
#
#
#
##
#
#
#
#
##
##
##
# #
# #
#
#
##
#
#
#
#
#
#
#
#
# #
#
#
##
#
#
##
#
###
#
#
#
##
##
##
#
#
#
#
#
#
#
#######
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
#
###
####
#
#
#####
#
###
#
#
#
###
####
#
#
#
#
#
##
#
#
# ##
#
#
###
#
#
####
##
#
###
#
#
###
#######
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
# ##
#
#
#
#
#
#
##
#
####
#
#
#
##
#####
#
#
# ##
# ####
#
#
#
##
## ##
# #
#
#
#
#####
#
#
#
#
#### #
#
###
#
##
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
##
#
#
#
##
##
######
# ### ####
##
#
#
#### #
#
##
#
#
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
#
##
# #
#
#
######
#
#
######
#
#
#
##
##
##
##
#
#
#
#
#
###
#####
#
# ###
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
##
#
##
#
##
##
###
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
###
#
#
###
#
##
#
#
#
##
##
###
##
#
#
##
## ###
##
#
#
####
#
##
##
##
##
#
#
#
#
#
#
#
#
##
#
#
###
#
#
#
#
#
#
#
###
# #
#
#
#
#
#
#
###
#
###
#
#
##
#
#
#
#
#
##
###
####
#
##
#
#
#
#
#
#
##
#
###
##
#
#
#
#
#
#
###
#
##
#
###
#### ###
##
#
##
#
#
#
#
#
#
#
##
#
#
##
#
#
####
#
#
##
#
#
##
###
#
##
#
##
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#####
#
# #
#
###
#
##
#
#
##
#
###
##
#
#
#
###
#
#
##
#
######
#### ## #
#
###
#
##
####
#
#
#
#
#
###
##
##
#
#
##
#
#
#
# #
##
##
#
####
##
#
#
##
#
#
#
# #
#
##
#
#
#
### ##
#
#
###
#
#
#
#
#
# #
#
##
#
#
#
#
##
##
#
#
#
#
####
###
#
##
#
#
#
#
#
#
##
#
#
#
#
####
#
###
#
#
#
#
#
#
#
#
#
##
##
##
##
###### ##
#
#
#
##
###
##
#
##
##
#
##
#
#
###
#
##
#
##
#
#
#
#
##
## #
##
#
#
#
#
##
#
#
#
#
###
##
#
#
##
#
#
#
##
##
#
#
#
##
#
#####
#
#
##
#
#
#
##
#
########
##
#
#
#
####
####
###
##
##
###
#
###
#
##
##
#####
#
#######
##
#
###
##
#
#
###
#
##
#
########
##
##
## ### #########
#
#
#
#
###
#
##
#
###
#
#
#
#
#
##
#
#
####
#
###
#
##
##
#
## ####
#
#
#
#
##
##
#
#
####
#
#
#
###
#
#
#
#
##
##
####
#
####
###
#
#
##
## #######
#
#
#
######
###
######
##
#
#
#
#
#
##
#
#
#
######
####
#######
#
#
#
###
##
#
###
#
##
##
#
#
#
###
#
## ##
#
#
#
###
######
#
#### #
###
#
###
#
#
#
#
##
##
#
###
####
###
#
#
##
##
##
####### # #
#######
#
#
#
## ########
#
#
#
#
#
#
#
#
#
##
#
##
#
#####
#
####
####
#
####
##
#
#
####
###
#
#
###
####
#
#
###
##
#
#
# #
#
#
#
###
#
######## ###
###
##
#
### ##
####
#
#
#
##
#
#
## ####
#
##
### ##############
#### #
#
######
#
########## ########
##
#
#
## ####
#
###
#
#
##
#########
# ###
#
#
##########
##
#
#
########
#
######
#
#####
#
##
###
##
#
##
#
####
#
###
#
# #
######
#
#
#
#
#
##
##
##
#
#
###
###
#
##
######
#
#
#
######
######
#
#
#
#
##
##
#
#
#
#
#
## #
#
#
#
#
#
##
#
#
##
##
#
##
#
##
#
#
#
####
##
#
###
####
###
##
##
###
#
#
##
#
##
##
#
#
#
##
# ##
#
##
#
##
##
##
#
##
#
##
#
#
# ##
#
###
#
##
#
###
#
##
######
#
#
#
#
#
#
# #
##
#
#####
#
#
#
#
###
#
##
##### #
#
#
##
##
#
##
##
##
###
#
##
# #
#
#
#
####
#
##
######
####
#
#
#####
#
#
##
#
#
#
###
#
####
##
###
#
# #
##
#
###
#
##
#
#
#
####
###
##
##
#####
####
######
#
#
#
##
#
##
#
#
##
#
##
#
# #
#
## #
### ##
##
#
#
##
#
#
#
###
#
###
##
##
#
#
###
#
#
##########
#
####### #
###
#
#
#
#
#####
##
#
#
##
##
#
##
#
#
#
###
#
##
####
##
#
###
#
#
###
##
##
#
####
#
# #
###
# ##
#
#
##
#
###
#######
###
######
##
###
#
#
##
##
#
##
##
#
##
#
#
##
##
#
###
#
#
#
# #
#
##
#
####
##
#
#
#
##
##
###
#
#
#
##
##
#
#
##
##
#
#
####
###
##
#
####
####
#
###
#
#
#
# ###
##
#
#
#
######
########
#####
####
##
##
#
#
#
###
#
####
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
##
#
#
#
##
#
#
##
#
##
#
##
#
#
#
#
##
#
#
#
#####
#
#
##
#
#
#
#
#
#
#
#
## ## ##
#
#
#
##
# ##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
# ##
#
#
#
#
#
#
#
#####
#
####
#
#
#####
###
#
#
#
##
##
#
####### #
#
###
############
### #
##
########
#
######
#
#
#
#######
#####
#
#
#
#
## #
########
#
# ##
##
##
#
###
###
## #######
###
#
###
#
##
####
#
# #
##
#
#
####
#####
# #
###
#####
##
#
#
###
#
##
#####
##
####
#########
# #
####
####
##
##
#
##### ###
###
#####
##
#
#
#
#
#
###
#####
##
##
######## #
# ###
######
#
#######
# ##
#######
#
#
#
########
#
#
### ###
########
#
###### #
#
#
##
##
#
##
##
#
#
#
#
#
#
#
###
#
#
#######
#
##
#
###
#
#
###
#
####
#
#
####
####
##
#########
#
####
####
##
##
#
#
#
#
#
#
##
##
###
#
##
#
###
#
##
###
#
#
#
#
#
##
#
#
###
#
#
## ###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
##
#
##
# #
###
#
#
#
#
##
#
#
##
#
##
######
### #
####
#
####
##
######
##
#
# ##
#
###
##
# #
#
#
##
#
##
##
#
####
## ######
#
##
##
#
##
##
#
#
#
#
#
#
###
####
##
##
#
# #
#
##
###
####
##
###
##
#
#
#
#
#
##
######
##
#
#
#
#
# #
#
####
###
###
#
#
#
##
#
#
####
##
#
#########
#
#
# #
#
###
#
##
#
#
#
#
#
##
#
#
###
#
#
#
####
#
#
##
#
##
#############
#
#
##
#
##
##
####
##
####
#
#
#
## ##
#
#
#
#
#
#
####
####
#
##
#
##
#
#
##
#
##
##
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
###
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
##
#
###
## ## #
#
#
##
## #
####
#
#
#
###
# #
##
##
#
#
#
#
#
#
#
##### ####
#
#
#
#
###
#
##
##
##
##
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
##
#
###
#
#
#
#
#
#
#
#
##
#
#
#
##
#
#
# #
##
#
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#####
###
##
#
#
#
#
##
#
###
###
####
#####
#
#
#
#
######
#
##
######
#
#
#
###
###
#
##
#
#
##
####
#
##
#
##
#
#
#
#
#
##
###
# #
###
###
#
#
#
#
######
#
#
#
##
#
#
##
##
#
###
###
#
##
#
#
#
##
################
#
#
#
###
#
###
##
## ##
#
###
#
#
#
####
#
#
##
##################
#
###
##
#
##
#
#
####
#
#
##############
##
##
#
#
###
#
##
#
#
##
#
#
####
#
#
###
###
###
## ###
#
#
#
### #
######
##
# ## #
#
# #
#
#
######
#
#
#
######
#
#
#
#
##
###
#
#
#
##
#
#
#
##
#
#
#
#####
##
#
##
####
##
##
###
#
#######
#
##
##
######
###
###
#
###
##
######
##
## ###
#
###
#
#
#
##
#
#
#
###
#
#
#
#
####
#
###
#
###
##
#
#
######
#
#
#
###
#
# #
#
###
##
##
####
#####
#
###
#####
#
###
#
###
#
##
#####
#
##
#####
##
## ###
####
##
#
## ##
#
#
##
##
####
##
#
#
#
##
##
#############
##
####
#
#
#
###
## ##
######
#
##
#
######## #
#
###
##
#####
### #
#
#
##
####
##
#
###
###
##
#
###
######
#####
############
####
#######
##
#
#
#
##
###
#
##
###
##
#
##
#
###############
###
#
##
#######
##
##
##
# #
##
##
# #
##
###########
##
####
# ##
#
########
#
#
##
#
#
#
#
##
##
#####
###
#
#########
#
####
#
##
#
#
#
#####
# #
##
##
# #########
##
#####
#
#
##
#
##
#
##
##
###
###
#
###
####
#
#
##
##
#
##
# ##
##
#
####
#
######
#
##
#
####
###
###
#
#
####
#
#
# ## ###
#
#
####
#
#
###
#
####
#
###
##
###
#
#
####
##
###
#
##
#### ##
##
###
# ###### # #
#
### ##
####
##
##
#
##
#
#
##
##
####
##
####
###
##
##
#######
#
#
#
#
#
#
#
#
#
###
##
##
######
###
## ###
###
##
#
#
###
##
#
###
## ###
#
#
### #
#
##
######
##
####
## #
##
####
##
# #
#
#
#
#
##
######
####
#
##
####
### #
#
#
###
############
#
######
#
### ##
#
#####
# ###
#
###
####
######
#
#######
#
#
####
###
#
#
##
#
# #
#
#
#####
#
#
##
#
#
####
##
#
# ### ###############
### ####
#
#
#
##
#
#
####
# ###
###
####
#
#
#
#
##
##
#
### #####
#####
##
#
#
#
#
#
#
#
###
##
##
### ###
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
##
####
#
#
#
##
##
###
##
##
##
##
#
##
##
###
#
####
##
#
###
#####
###
###########
#
###
#
#
#
###
#
##
#
#
#
###
#
## #
##
###
#
###
##
##
# #
##
#
#
##
##
#
##
#
#
#
#
##
#
###
#
#
#
#
#
##
#
##
###
#############
####### #####
####
################
## ##
#
#
#
#
#
#
#
##
##
#
### #### ###
#
###
#####
############
#
#########
#
#
#
##
#
#
##
####
###
#
#############
##
#
#
###
##
#########
#
# ####
#
#
#
#
###
##
#
##
#
### ##
#
##
####
#
#
#
##
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
### ##
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
#
##
##
#
#
#
#
####
#
#
#
###
#
#
###
##
#
#
##
#
####
## #
###
####
##
# ####
##
####
#########
####
#
#
#
#
##
###
###
### #
# #############################
#####
###
#
#
##
#####
###
##
######## #
#
#
### ########
##
#
#
#
###
#
##### #
###
#
#
#
###
##
##
#
#
#
#####
##
#
###
#
##
####
#
#
#
##
#
#
#
####
### #
##
##
#
#
#
#### #####
#
##
#
#
#
####
##
# #######
########
#
####
#
#
##
##
#### #
#
# #
### #
##
####
##
####
#
#
##
#
#
############
#
##
#
####
#
###
##
#
#
### ####
##
###
#
# #
##
#
## #
#### #
##
#####
##
# #
#
###
#
#
##
##
##
#
#
##
###
#
#
#
##
#
#
##
#
##
#
#
###
#
#
#
#
#########
#
#######
#
#####
####
#
###
###
#
#
####
#
#
#
#####
#
##
# #
#
#
#
#
#
##
#
#
#
##
#
####
#
#
###
#
#
#
#
#
#
##
########
#
#
## #
#
##
#
###
##
#
#
###
##
#
#
#
#
###
###
#
##
####
##
#
##
##
#
#
########## #
# #
#####
###
##########
#### ##
#
#
####
##
###
##
##
#
#
#
###
### ##
#
####
##
#
#
#
####
#
#
#####
##
#
#
#
###
#
#
##
##
##
###
##
#####
#
###
##
#
#
#
#
## #
#
##
#
###
####
###
#
#
#
#
#
#
#
#########
###
###
#
###
#####
#
##
##
##
###
###
####
######
##
######
##
#
#
###
## ###
#
#
##
#
##
####
#
## # #
###
##
###
#
#
######
#
# ##
#
#####
###
#####
#
#
####
#
#
# ########
###
##
#
### ####
#
##
####
##
#
##
#
#
##
######
##
##
###
#
####
###
#
#
### ##
#
##
##
###
#
#
#
#
####
#
#
#
#######
#
#
##
##
#
#
###
#
#
#
##
#
###
#
#
#
###
#
#
#
###
#
########
##
######
#
##
#
#
#
#
###
#
#
#
#
### #
###
#
#
#
#######
#
###
#
#
#
##
#
###
#
# # ##### #
#
# ##
#
#
#
##
####
#
#####
#
######
## ##
###
#
##
#
#
##
#
#
#
#
#
#
#
##
###
####
######
##
#
#
##
###
# #
#
#
#
#
#
#
##
#
#
#
#
#
####
##
#
#
##
#
#
##
##
# #
#
##
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# ##
#
#
##
#
##
#
#####
###
## #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
###
####
#
###
#
###
## #
###
#
#
###
###
######
#
##
#
#
#####
##
#
#####
#
####
#
#
##
##
##
###
##
####
#
##
##
###
###
#
### ##
##
#
##
##
##
##
####
####
####
##
#
#
#
#
####
##
#
#
#
##
####
#
#
###
#
#
#
####
#
######
# #
# ########
###
# #
#### ####### # #####
#
###
##
###
####
####
#
###
##
#
####
##
#
####
#
###
##
#
#####
##
#####
##
#
###
###########
#
#
####
##
#
#
#
#####
###
#####
#####
#
#
##
###
##
#
##
#
#
###
#
###
#####
#
#
###
### ###
###
#
#
###
####
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
####
#
#
#
#
#
#
##
##
####
#
###
#
# #
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#####
#
#
##
##
#
#
#
#
#
#
#
#
########
##
###
#
#
#
##
###
###
##
##
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
# #
## ##
#
##
#
#
###
#
#
######
#
#
#
##
#####
#
##
##
#
#
##
###
#
#
#
#
#
#
#
#
#
# ####
####
#
#
####
# ###
#
#
#
##
#
#
#
##
# #
#
#
#
#
#
##
#
##
#
#
####
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
## #
#
#
#
##
#
#
#
#
#
#
#
#
##
##
#
#
##
#
#
#
#
# #
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
####
#
#
#
#
#
#
#
#
##
#
##
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
#
### #
#
# #
#
####
#
##
#
#
#
##
#
################
############# ###################
#
####
#
######
#
###
#
######
#
##
##
###
######
#
###########
#
#################
###########
#
#
#
#
###
#
#
#
#
#
#
##
## #
#
#
#
#
#
#
##
##
#
# ##
#
#
###
#
#
#
##
#
##
#
##
#
####
#
#
#
#
# ##
#
#
####
#
#
#
##
#
#
#
######
#
#
##########
#
#
#
#
#
#
#
##
##
##
##
#
#
#
#
##
#########
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
### ##
#
#
#
#
#
#
#
#
# #
#
##
#
#
#
#
#
#
#
#
#
## #
#
#
#
########
# #
##
###
##
#
##
###
########
####
##############
#
#####
#
####
##
#
#
#
#
##
#
##
#
#
#
#
#
##
##
#
##
#
######
# #
######
#######
########
###
##
###
#
#
####
#
##
#
#
###
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
##
##
#
#
##
#
##
###
#
### #
#
##### #
#
##
#
#
#
#
#
#
#
#
#
#
#
### #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#####
## #
#
#
#
#
#
# ##
#
##
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
##
#
#### #
######
# #
#
###
#
#
#
#
#
#
##
##
###
#
#
#
#
##
#
#
#
#
##
##
#
#
#
##
#
#
#
#
###
#
#
#
#
#
#
##
#
####
####
####
#
#
#
#
##
#
#
#
#
###
####
#
#
###
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#####
#
#
#
##
#
#
###
#
#
#
##
#
#
#
#
##
#
#
###
#
# #
#
#
###
#
##
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
###
##
#
##
#
######
#
#
#
#
#
# #
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
#
#
#
#
#
## ## #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
###
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
# #
#
#
#
## ##
#
#
#
##
#
#
#
###
#
#
#
#
##
##
##
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
###
###
#
#
#
#
#####
########
#
###
#
##
#
#
##
#
#
##
#
#
#
#
#
##
#
#
### #
#
#
##
#
#
#
##
##
#
##
#
#
#
#
#
# #
#
#
#
#
# #
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
##
##
#
#
#
###
###
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
##
#
# #
#
#
#
#
##
#
##
##
#
#
#
#
##
# #
#
######
###
####
#
#
#
#
#
#
#
#
#
#
#
#
###
##
#
####
#
#
# #
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
##
##
####### ##
#
##
#
####
#
###
#
####
###
#
#
##
#
## ###
#
#
#
#
#
#
#
#
##
##
##
#
#
#
#
# #
###
## #
##
#
#
#
#
#
#
#
#
###
#
#
##
##
### #
#
########
#
##
#
#
#
##
##
#
#
#
###
#
#
#
#
#
#
##
#
#
#
#
##
# #
###
###
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
##
#
#
#
# #
#
###
##
#
##
#
##
#
#
#
#
##
#
#
#
#
#
###
##
###
#
#
# ##
#
#
#
#
#
#
#
#
######
#
#
#
#
##
##
####
##
#
#
##
#
###
##
#
#
#
#
# #
#
#
##
#
#
##
#
#
#
#
#
#
##
#
####
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
#
#
##
######
# ##
#
##
#
#
##
####
#
#
#
#
#
#####
#
#
#
##
#
#
##
##
##
###
#
#
#
#
##
### #
######
## ##
#
##
#
#
#
#
##
#
#
####
##
##
#
# #####
#
##
#
#
#
#
##
#
# #
##
#####
######
#
##
#
#
#
#
###
#
#
# #
##
#
#
##
# ##
#
#
#
#
#
#
#
#
##
##
#
##
#
#
###
#
# ##
## #
#
#
##
#
#
# ##
#
#
#
#
#
##
### #
#
##
#
#
#
##
#
#
###
#
#
#
##
##
#
#
##
#
#
#
##
###
#
#
###
#
##
###
##
#
#
#
#
#
#
#
##
#
#
##
#
##
#
#
##
#
##
#
##
#
###
#
#
#
#
#####
#####
#
#
#
#
###
#
##
#
##
#
#
#
#
#
#
#
## ##
#
#
#
##
#
#
####
#
#######
#
####
#####
##
##
##
#
#
#
###
##
#
#
#
#
##
# #
##
##
#
###
#
#
#
#
###
##
#
#
#
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
######
#
#
###
##
#
#
#
#
##
#
##
##
#
##
#
#
#
#
#
#
#
#
#
#
##
#
###
###
#
##
#
###
#
#
#
##
#
#
#
##
##
#
#
#
##
#
#
###
###
#
#
#
#
# #
#
#
#
##
####
##
#
#
#
#
#
#
#
#####
#
#
#
#
#
#
#
#
##
##
#
#
#
#
###
#
#
#
#
#
###
#
#
#
#
###
#
#
#
#
#
###
#
#
#
#
#
####
#
##
###
#
#
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
##
#
# ###
#
#
#
#
#
##
##
##
#
##
#
#
#
##
#
##
#
# #
##
##
#
#
#
#
#
#
##
####
##
####
#
#
##
#########
####
#
#
#####
#
##
#
###
##
#
##
#
#
#
##
#
#
#
##
#
#
#
####
#
#
##
#
##
#
# #
#
#
##
#
#
#
#
#
#
#
#
##
#
###
###
####
##
# ###
##
#
#
#
#
##
#
#
#
#
##
##
#
##
#
#
###
#
#
#
#### ####
#
#
#
#
# #
#
#
#
#
#
##
###
#
#
###
##
#
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
#
#
##
#
##
#
#
###
#
##
#
#
#
#
#
#
######
#
#
#
#
#
#
#
#
# ###
####
##
#
###
#
#########
#
##
#
#
#
# ##
#
#
##
#
#
##
#
#
######
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
###
#
#
#
#
#
#
#
#
#
#
###
#
#
##
#
#
##
#
#
#
#
#
#
#
#
# ##
#
####
#
#
##
#
##
#
#####
###
#
#
#
#
#
#
#
###
#
#
#
#
###
#
#
#
#
##
###
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
#
#
#
##
#
#
#
#
###
##
#
####
#
##
#
##
#
#
#
#
# #
##
#
#
#
#
#
#
###
##
#
#
#
#
#
#
#
#####
#
#
#
#
############
#
#
#
##
#
#
#
#
###
#
##
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
# ##
#
###
#
#
#
###
#
### #
##
#
#
#
##
####
#
#
#
#
#
#
#
#
#
## ###
##
###
#
#
#
#
#
#
##
#
#
#
##
######
##
###
#
#
##
#
#
##
##
#
#
#
#
#
# ##
#
#
#
#
#
#
#
#
##
#
#
###
#
##
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
# #
#
#
#
##
##
### ###
#
#
####
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
##
#
##
##
#
###
#
##
#
#
####
#
#
# ##
#
#
##
##
##
#
#
#
#
#
#####
#
###### ####
###
## #
#
##
#
##
## #
#
##
#
#####
#
#
#
# #
#
###
#
#
##
#
#
#
#
#
#
#####
#########
##
#
#
#
#####
#
#
#
#
##
#
#
#
#
##
#
#
#
#
#####
#
#
#
#
#
###
#
##
#
##
#
#
#
##
#
##
#######
#
#
##
#
#
#
###
#
#
##
#
#
#
#
#
#
##
##
#
#
##
#
#
##
##
#
#
##
#
##
#
## #
#
#
##
#
#
#
#
#
# #
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#####
#
#
#
#
#
####
##
###
#
#
#
#
#
###
###
#
##
#
#
#
#
#
##
#
######
#
#
##
#
####
#
##
#
#
###
#
#
##
##
# ###
#
#
#
##
#
##
#
#
#
#
##
#
#
###
#
##
##
#
#
#
#
#
#
#
#
#
#
##
#
#
##
#
#
#
#
#
#
###
###
##
#
#
#
#
##
#
##
### #
##
#
#
#
#
###
#
#
#
#
#
##
#
#
#
#
####
#
##
#
#
#
#
#######
###
#
####
###
###
# #
#####
#
#
#
#
#
#
#
##
#
#
#
#
#
#
##
###
###
#
#
#
#
#
####
#
###
#
#
#
#
#
#
##
##
#
#
#
#
#
#
##
##
#
#
#
##
###
#
#
##
#
##
#
##
##
#
#
#
#
##
#
##
#
#
###
#
#
#
#
#
#
#
#
#
#
##
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
##
##
#
#
##
##
###
#
#
##
#
#####
###
########
##
##
###
#
#
##
##
#
##
#
#
#
#
#
##########
###
#
#
#
####
####
#
#
#
#
#
##
#
#
#
# ###
#
#
####
#
###
#
#
#
#
##
#
#
#
####
#
#
##
####
#
#
#
###
#
#
#
#
#
##
#
#
##
#
##
##
#
###
#
#
##
#
#
# ###
###
##
#
# # #
#
#
#
#
#
#
#
#
#
####
#
#
#
#
###
#
#
#
##
#
#
#
###
##
#
#
#
##
#
#
#
##
#
#
#
#
#
#
#
#
#
#
##
###
#
#
####
##
#
###
#
#
#
#
#
#
##
#
########### ###
###
#
#
#
##
##
##
##
# ##
#
#
#
#
#
#
#
#
#
##
#
#
#
##
##
#
#
####
#
####
#
# #
#
#
#
#
#
#
#
##
#
##
#
#####
##
#######
##
#
###
#
#####
#
#
##
#
#
#
##
#
#
#
#
#
##
#
##
#
#
#
##
#
#
#
#
####
#
###
#
#
#
# #
#
##
##
#
##
######
#
#
###
##
##
####
####
#
##
####
#
#
#
#
#
#
#
#
#
#
##
#
#
#
##
#
##
#
##
#
#
#
#
##
######
#
#
#
#
##
# ####
#
#
###
###
#
#
#
#
#
#
#
#
#
#
#
###
#
#
#
#
#
#
###
#
#
#
#
#
##
#
#
##
#
# ##
#
#
###
#
#
#
#
#
#
#
#
#
#
##
#
#
#
###
# #
#
#
## #
#
##
#
#
##
###
###
#
#
#
#
#
#
#
#
#
#####
#
#
#
#
##
#
#
##
#
#
#
##
#
###
#
###
#
#
###
####
##
#
#
#
#
#
#
#
#
#
#
#
###
#
####
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
####
#
#
#
###
#
###
#
#
#
5S 73 W
WELD
MESA
MOFFAT
BACA
YUMA
PARK
LAS ANIMAS
ROUTT
GUNNISONLINCOLN
LARIMER
GARFIELD
PUEBLO
BENT
SAGUACHE
LOGAN
KIOWA
RIO BLANCO
GRAND
EAGLE
EL PASO
ELBERT
MONTROSE
LA PLATA
WASHINGTON
DELTA
OTERO
KIT CARSON
JACKSON
ADAMS
CHEYENNE
FREMONT
PITKIN
MORGAN
HUERFANO
CONEJOSCOSTILLA
HINSDALE
ARCHULETA
DOLORES
CHAFFEE
SAN MIGUEL
MINERAL
CUSTER
DOUGLAS
SUMMIT
CROWLEY
PHILLIPS
BOULDER
OURAY
LAKE
ALAMOSA
TELLER
ARAPAHOE
RIO GRANDEJE
FF
ER
SO
N
SEDGWICK
MONTEZUMA
PROWERS
CLEARCREEK
GILPIN
DENVER
BROOMFIELD
OIL & GAS WELLS OF COLORADOSOURCE COGCC
6
COLORADO MONTHLY COMPOSITE GAS PRICE vs NYMEX(Colo=20%Northwest PL RM+50%El Paso SJB+30%CIG Rockies; Prices Avg Last 3 Days Close; Courtesy
Mercator Energy)
$0.00
$1.00
$2.00
$3.00
$4.00
$5.00
$6.00
$7.00
$8.00
$9.00
$10.00-J
an
-19
98
-F
eb
Ma
rA
pr9
8M
ay
Jun
Jul9
8A
ug
Se
pO
ct9
8N
ov
De
c-J
an
-19
99
-F
eb
Ma
rA
pr9
9M
ay
Jun
Jul9
9A
ug
Se
pO
ct9
9N
ov
De
c-J
an
-20
00
-F
eb
Ma
rA
pr0
0M
ay
Jun
Jul0
0A
ug
Se
pO
ct0
0N
ov
De
c-J
an
-20
01
-F
eb
Ma
rA
pr0
1M
ay
Jun
Jul0
1A
ug
Se
pO
ct0
1N
ov
De
c-J
an
-20
02
-F
eb
Ma
rA
pr0
2M
ay
Jun
Jul0
2A
ug
Se
pO
ct0
2N
ov
De
c-J
an
-20
03
-F
eb
Ma
rA
pr0
3M
ay
Jun
Jul0
3A
ug
Se
pO
ct0
3N
ov
De
c-J
an
-20
04
-F
eb
Ma
rA
pr0
3M
ay
Jun
Jul0
3A
ug
Se
pO
ct0
3N
ov
De
c-J
an
-20
05
-
CO
LO
& N
YM
EX
GA
S P
RIC
ES
, BA
SIS
DIF
F ($
/Mm
btu
)
Colorado
NYMEX
Basis Diff.
7
Colorado Monthly Composite Oil Price (35% Chevron NW, 5% Equiva SW, 40% Diamond NE, 20% Diamond SE : ~= WTI+$0.70)
$0.00
$10.00
$20.00
$30.00
$40.00
$50.00
$60.00
-Ja
n-1
99
8-
Ma
r
Ma
y
Ju
l98
Se
p
No
v
-Ja
n-1
99
9-
Ma
r
Ma
y
Ju
l99
Se
p
No
v
-Ja
n-2
00
0-
Ma
r
Ma
y
Ju
l00
Se
p
No
v
-Ja
n-2
00
1-
Ma
r
Ma
y
Ju
l01
Se
p
No
v
-Ja
n-2
00
2-
Ma
r
Ma
y
Ju
l02
Se
p
No
v
-Ja
n-2
00
3-
Ma
r
Ma
y
Ju
l03
Se
p
No
v
-Ja
n-2
00
4-
Ma
r
Ma
y
Ju
l04
Se
p
No
v
Co
mp
osit
e O
il P
ric
e (
$/B
arr
el)
8
HISTORIC ANNUAL COLORADO DRILLING PERMITS 01/10/05
533
810767
1061 1077
1352 1296
1502
1952
2378
2173
18051895
914
1078
12771186
1477
1319
20012065
2008
1002 1002
1157
1010
1529
2273
2917
1936
1119
1390
11561110
571540
564600
2245
2007
1002
0
500
1000
1500
2000
2500
3000
1964
1966
1968
19'7
0
1972
1974
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
1998
2000
2002
2004
NU
MB
ER
OF
DR
ILL
ING
PE
RM
ITS
9
RECENT COLORADO OIL AND GAS WELL PERMITS8/11/04RECENT COLORADO OIL AND GAS WELL PERMITS
01/11/05
10
RECENT SOUTHWESTERN COLORADO OIL AND GAS WELL PERMITS01-11-05
11
Colorado Oil and Gas 2004 Drilling Permits by County
As Of January 10, 2005
Source: COGCC
Weld28.5%(832)
Yuma8.1%(237)
All Others11.5%(335)
La Plata3.5%(102)
Las Animas11.4%(332)
Garfield27.3%(796)
Washington4.4%(129)
Rio Blanco5.3%(154)
12
TOTAL DRILLING RIGS RUNNING IN COLORADO EACH WEEK IN 2003-2004
(Based on Data in: through 4/30, PI/Dwights Drilling Wire -- after 4/30, Anderson Reports Weekly Rig Status Report)
35
40
45
50
55
60
65
70
75
1/3/
031/
101/
171/
241/
31 2/7
2/14
2/21
2/28 3/7
3/14
3/21
3/28 4/4
4/11
4/18
4/25 5/2
5/9
5/16
5/23
5/30 6/6
6/13
6/20
6/27 7/4
7/11
7/18
7/25 8/1
8/8
8/15
8/22
8/29 9/5
9/12
9/19
9/26
10/3
10/1
010
/17
10/2
410
/31
11/7
11/1
411
/21
11/2
812
/512
/12
12/1
912
/26
1/2/
041/
9/04
1/16
/04
1/23
/04
1/30 2/6
2/13
2/20
2/27 3/5
3/12
3/19
3/26 4/2
4/9
4/16
4/23
4/30
5/11
5/18
5/25 6/1
6/8
6/15
6/22
6/29 7/7
7/13
7/20
7/27 8/3
8/3
8/10
8/17
8/24
8/31 9/7
9/15
9/21
9/28
10/5
10/1
310
/19
10/2
611
/311
/911
/16
11/2
412
/112
/712
/14
12/2
012
/27
WE
EK
LY
# O
F R
IGS
13
TOTAL DRILLING RIGS RUNNING IN COLORADO EVERY OTHER WEEK IN 2003-2005
(Based on Data in: through 4/30, PI/Dwights Drilling Wire -- after 4/30, Anderson Reports Weekly Rig Status Report)
35
40
45
50
55
60
65
70
75
1/3/
031/
171/
312/
142/
283/
143/
284/
114/
25 5/9
5/23 6/6
6/20 7/4
7/18 8/1
8/15
8/29
9/12
9/26
10/1
010
/24
11/7
11/2
112
/512
/19
1/2/
041/
16/0
1/30
2/13
2/27
3/12
3/26 4/9
4/23
5/11
5/25 6/8
6/22 7/7
7/20 8/3
8/10
8/24 9/7
9/21
10/5
10/1
911
/911
/24
12/7
12/2
01/
4/05
1/11
WE
EK
LY
# O
F R
IGS
14
DRILLING RIGS RUNNING IN COLORADO BY COUNTY EACH WEEK IN 2004
(Based on Data in: through 4/30, PI/Dwights Drilling Wire -- after 4/30, Anderson Reports Weekly Rig Status Report)
2 2 1 1 4 4 4 5 5 5 6 8 8 6 6 6 9 7 3 4 7 9 8 8 9 10 7 8 8 8 7 9 9 10 9 1311 7 10101110111011 9 121010 9 9 91 2 2 11 2 2 2 2 2 1 1 1 2 2 2
2 11
1 1 1 1 1 1 2 1 1 11
12 2 1 1 2 2 3 1 1 1 2 2 0
1 1 1 12 2 2 1 1 1 2 1 1 1
1 11 1 2 1
2 2 1 21 2
2 2 2 2 2 2 2 0 0 1 1 2 3 3 24 4 4 4
3 4 3 3 3 3 3 3 4 4 6 55
44 3
3 3 2 3 3 1 2 3 2 2 11 2 1 2 1 2
1 1 1 1 1 1 1 1 1 0 2 2 3 33
3 4 4 55
6 7 7 7 7 7 7 6 5 55
4 7 77 5 6 5 6 7 7 6 6 4 6
5 5 3 4 4 5 8 8 8 6 5 7 7 7 7 6 7 7 7 7715141412
1212131314141414151516
12109 1111
11 9 13131313141113131112 9
9 810 9 1010 9 1012
121211131312131616
15
2127282726
272829303331343334333532
31293030
29303232313031
333332
3434
3334343432302932333233
31333332313131
33
6
7166656666
716963
676664646161
6163646058
63
625955
595656
47
5454
51
5357
586062
65
64
6869
6868
65635661
61 606463
59
6562
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
1/2
1/9
1/1
61
/23
1/3
02
/62
/13
2/2
02
/27
3/5
3/1
23
/19
3/2
64
/24
/94
/16
4/2
34
/30
5/1
15
/18
5/2
56
/16
/86
/15
6/2
26
/29
7/7
7/1
37
/20
7/2
78
/38
/10
8/1
78
/24
8/3
19
/79
/15
9/2
19
/28
10
/51
0/1
31
0/1
91
0/2
61
1/3
11
/91
1/1
61
1/2
31
1/3
01
2/7
12
/14
12
/21
12
/28W
EE
KL
Y #
OF
RIG
S (
Lab
els
on
bar
s in
dic
ate
# o
f ri
gs
by
cou
nty
)
TOTAL
GARFIELD
WELD
RIO BLANCO
LA PLATA
MOFFAT
YUMA
OTHER
15
DRILLING RIGS RUNNING IN COLORADO BY COUNTY EACH WEEK IN 2005
(Based on Data in Anderson Reports Weekly Rig Status Report)
10100 12 22 23 3
1214
3331
6263
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
1/4
1/18
WE
EK
LY
# O
F R
IGS
(La
be
ls o
n b
ars
ind
ica
te #
of
rig
s b
y c
ou
nty
)
TOTAL
GARFIELD
WELD
RIO BLANCO
LA PLATA
MOFFAT
YUMA
OTHER
16
COLORADO MONTHLY ACTIVE WELL COUNTas of 1/19/05
228732291122930230402309823156232422327323352
2348823608
23711
2396324118
24212243632444524489
2458924655
2491125042
2528325423
255612566625732
2601726108
26421
2665726819
26968
25870
2480824901
22,500
23,500
24,500
25,500
26,500
27,500
JAN
200
2
FE
B
MA
R
AP
R
MA
Y
JUN
JUL
AU
G
SE
P
OC
T
NO
V
DE
C
JAN
200
3
FE
B
MA
R
AP
R
MA
Y
JUN
JUL
AU
G
SE
P
OC
T
NO
V
DE
C
JAN
200
4
FE
B
MA
R
AP
R
MA
Y
JUN
JUL
AU
G
SE
P
OC
T
NO
V
DE
C
Jan
-05
NU
MB
ER
OF
AC
TIV
E W
EL
LS
17
Active Oil and Gas Wells - All Colorado Counties (01-11-05)
0
475 454413 274 224 212208 196 178 170161 147 131 76 75 69 54 54 48 44 41 40 37 28 24 16 13 10 9 9 6 2 1
527
951
10764
259524212362
17071606
0
2000
4000
6000
8000
10000
12000
18
COLORADO NATURAL GAS PRODUCTION 1995-2004BILLION CUBIC OF GAS PER DAY 1/21/04
1.52 1.601.78
1.93 1.982.12
2.28
2.592.80
3.15 ?
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004est.
AN
NU
AL
GA
S P
RO
D. (
bcf
/day
- In
clu
des
CB
M)
1
19
COLORADO 2003 GAS PRODUCTION BY COUNTY (4/7/04)
MILLION CUBIC FEET PER DAY
540
389
205
93 60 22
1,285
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
LA PLATA WELD GARFIELD LASANIMAS
RIOBLANCO
YUMA OTHER
GA
S P
RO
DU
CT
ION (m
mc
f/d
ay
- I
nc
lud
es
CB
M)
20
COLORADO OIL PRODUCTION 1995-2004THOUSAND BARRELS PER DAY 6/7/04
78.4
70.266.8
61.4
52.9 52.6 53.7 55.9 58.2 60.0
0
10
20
30
40
50
60
70
80
90
1995 1996 1997 1998 1999 2000 2001 2002 2003 ?2004
OIL
PR
OD
UC
TIO
N (
1000
bb
l/d
ay)
21
COLORADO 2003 OIL PRODUCTION BY COUNTYTHOUSAND BARRELS PER DAY
(6/7/04)
26.7
15.3
5.5
2.51.3 1.3
5.6
0
5
10
15
20
25
30
WELD RIO BLANCO CHEYENNE WASHINGTON GARFIELD ADAMS OTHER
OIL
PR
OD
UC
TIO
N (1
00
0 b
bl/
da
y)
22
COLORADO OIL & GAS PRODUCTION VALUE 1995-2004 1/18/05
(Billion $)
$1.19 $1.49$1.98 $1.69 $1.83
$3.21 $3.53$2.74
$6.80
$5.00
$0.00
$1.00
$2.00
$3.00
$4.00
$5.00
$6.00
$7.00
$8.00
$9.00
$10.00
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
PR
OD
UC
TIO
N V
AL
UE
($
Bil
lio
n)
23
% OF COLORADO PRODUCTION VALUE BY GAS & OIL (2004 - Estimated) 1/18/05
OIL13%
GAS87%
24
Commission Make Up
Statutory Requirements:
• Seven members appointed by the Governor, with the consent of the Senate.
• Two members from west of the continental divide.• Other members from areas with a high level of oil and
gas development• Two members are not employed by the oil and gas
industry, and have experience in agriculture, land reclamation, environmental protection, or soil conservation.
25
Commission Make Up(Cont.)
Statutory Requirements:
• Five members have substantial experience in the oil and gas industry.
• Two of the five members with oil and gas experience college degrees in petroleum geology or petroleum engineering.
• No more than four members shall be from the same political party.
Commission members are appointed for four year terms.
26
COLORADO OIL & GAS COMMISSIONER MAKEUP MATRIX OF STATUTORY REQUIREMENTS18-Jan-05
COMMISSIONER 3 WEST OF 2 NOT OIL & GAS EMPLOY 5 WITH SUBSTANTIAL 4 OF 5 COLLEGE DEG MAX 4 FROM SAMECONTINENTAL DIVIDE & AG/RECLAM/ENVIR EXP OIL & GAS EXPERIEN IN PETR GEO OR ENG POLITICAL PARTY
John Ashby X X R
Kimberly Gerhardt X X X D
Brian Cree X R
Mike Klish X X U
Peter Mueller X X U
Tom Reagan X X R
Sam Potter X X R
OTHER COMMISSIONER BACKGROUND FEATURES------------------------------------------------------------------------------------------------------------------------------------------------
COMMISSIONER COUNTY RESIDENCE EMPLOYED BY OIL & GAS CURRENT DATE OF EXPIRATIONINDUSTRY IN COLORADO JOB TYPE OF CURRENT TERM
John Ashby BOULDER YES CONSULTANT 7/07
Kimberly Gerhardt LA PLATA NO GEOLOGIST 7/08
Brian Cree DOUGLAS NO FINANCIAL 7/07
Mike Klish MESA NO (SOME ENVIR. C0NTR.) ENVIRON. SCIENTIST 7/06
Peter Mueller ARAPAHOE YES ENGINEER 7/06
Tom Reagan ARAPAHOE NO BANKER 7/06
Sam Potter GARFIELD NO RANCHER 7/05
27
COGCC Field Inspection Program
The COGCC staff includes eight field engineers and inspectors and four environmental protection specialists who perform inspections of many types of oil and gas operations.
Six of the field engineers and inspectors staff remote field offices in the outlying areas where they reside.
COGCC field offices are located in Grand Junction, Parachute, Durango, Trinidad, Greeley, and Sterling.
28
29
30
Legal and Regulatory Issues
• Colorado oil and gas development often occurs where the mineral estate has been split from the surface estate.
• Each party (surface and mineral estate) has their own property rights associated with ownership.
• Surface and mineral interests are created or transferred through private party contracts, including deeds and leases.
31
Legal and Regulatory Issues
• Oil and gas companies who have purchased or leased the mineral rights are entitled to exercise their property rights.
• Colorado law provides for access to the mineral estate by allowing mineral owners “reasonable use” of the surface estate.
32
Legal and Regulatory Issues
The Colorado Oil and Gas Conservation Commission:
• DID NOT create the legal relationships between surface and mineral estates and does not have the authority to alter them.
• CANNOT interfere with the private party contracts that establish the surface and mineral owners’ rights.
33
Legal and Regulatory Issues
The Colorado Oil and Gas Conservation Commission:• IS a state regulatory agency created by the Legislature to promote oil and gas development while protecting public health, safety, and welfare.
• IS required by law to make and enforce rules to protect the environment and keep the public safe when drilling and development occurs.
• IS NOT authorized to protect property values or a preferred quality of life.
34
COGCC Regulations
Permit Requirements:
• Oil and Gas Well Construction– Proper Oil and Gas Isolation and
Groundwater Protection
• Oil and Gas Well Location and Spacing Requirements
• Bonding Requirements
• Safety Setbacks from Homes, Public Roads, and Utilities
35
WELLBORE
AQUIFER
GAS ZONE
WATER WELL
WATER LEVEL
WATER LEVEL
36
COGCC FINANCIAL ASSURANCE RULES
Surface Owner Protection:• The law provides for compensation from the surface owner protection bond only if crop losses or land damages are “unreasonable” based on what is needed to access the mineral estate.
• To date, no surface owners have claimed compensation under a COGCC surface damage bond for unreasonable crop loss.
37
COGCC Environmental Response Fund
• The COGCC makes efforts to maintain a •$1 Million emergency reserve in the Environmental Response Fund (ERF)
• The ERF may be expended by the Commission to investigate, prevent, monitor, or mitigate conditions that cause, or threaten to cause, a significant adverse environmental impacts on air, water, soil or biological resource.
38
COGCC RegulationsDrilling Requirements:
• 30 Day Notice to Surface Owner and Local Governmental Designee
•Required Good Faith Consultation with Surface Owner and Local Governmental Designee before building location.
• Well Control Requirements.
39
COGCC Regulations
Reclamation:
• Site Preparation Requirements
• Interim Reclamation Requirements
• Final Reclamation Requirements
• Noxious Weed Control
40
Example of Wellsite Reclamation on Crop Land
41
Example of Wellhead Immediately After ReclamationOn Non- Crop Land
42
COGCC Regulations
Other Rules:
• Exploration and Production Waste Disposal• Well Plugging and Abandonment Rules • Noise Abatement Rules• Sanitary Facility Requirements• Non – Contrasting Painting Requirements • Safety Setbacks for Crude Oil Tanks, and Fired Vessels• Fire Prevention and Protection
43
Hazen and Sawyer2001 Study of Colorado Oil and Gas Regulations
• Hazen and Sawyer, an independent environmental engineering consulting firm, was retained by the Colorado Department of Natural Resources to conduct a study designed to:
– Investigate the impacts of significant rule changes following the passage of Senate Bill 94-177.
– Compare Colorado’s Oil and Gas Rules and Regulations with those in Wyoming, New Mexico, and Utah.
44
Hazen and Sawyer2001 Study of Colorado
Oil and Gas Regulations Findings
• “Colorado has established rules and regulations regarding many issues that are not addressed… in other states.”
Examples:– Financial Assurance for Surface Owner Protection– Flowline Regulations– Interim Reclamation– Setback and Other Rules For High Density Areas– Safety Rules
45
Hazen and Sawyer2001 Study of Colorado
Oil and Gas Regulations Findings
• “Colorado has established more surface owner rights and public involvement than other states.”
Examples:– Notice and Consultation– Financial Assurance for Surface Owner Protection– Spill Notification– Public Input Regarding Public Health, Safety, and
Welfare Issues Associated With Changes In Well Density
46
Colorado Oil and Gas Conservation Commission
COGCC RulemakingEffective June 30, 2004
47
COGCC Rulemaking Effective June 30, 2004
Process to Address Complaints Received Prior to Application for Permit to Drill (APD) Approval
• Rule 303 and 522 – Changes
- The Director shall withhold the approval of any Application for Permit to Drill while a surface owner complaint is being investigated.
- If a violation is found, enforcement would be pursued.
- If no violation is found, COGCC staff would issue a letter to the complainant advising of the result of the investigation and advising that the complainant could work through the local government to request a COGCC hearing on the matter.
48
COGCC RulemakingSuspension of an APD
For Incorrect Information
• Rule 303 – New Language
- “PRIOR TO THE SPUDDING OF THE WELL, THE DIRECTOR SHALL SUSPEND AN APPROVED PERMIT-TO-DRILL… IF THE DIRECTOR HAS REASONABLE CAUSE TO BELIEVE THAT INFORMATION SUBMITTED ON THE PERMIT-TO-DRILL… WAS MATERIALLY INCORRECT.”
49
COGCC RulemakingRelease of Financial Assurance
• Rule 909 – New Language
- Financial assurance required by Rule 706. may be held by the Director until the required remediation of SOIL AND/OR ground water impacts is completed in accordance with the approved workplan, or until cleanup goals are met.
50
COGCC Local Governmental Designee(LGD) Program
•The COGCC LGD Program has been in place since rulemaking in 1992.
•The LGD Program rulemaking involved a stakeholder team that included CCI, CML, and the oil and gas industry.
•The LGD is the local government office that designates itself to receive copies of well applications and other documents, and to participate in several COGCC processes.
51
COGCC Local Governmental Designee(LGD) Program
Information Available to LGDs
•Copies of Applications for Permits to Drill at or before the time of filing with the COGCC.
•Minimum 30 day prior notice of well drilling by operators.
•Notices of COGCC hearings, including applications to establish spacing and increase well density.
•Statistical reports as requested.
52
COGCC Local Governmental Designee(LGD) Program
LGD Participation:
•Onsite consultation with operators concerning the location of roads, production facilities, and well sites.
•10 day comment period to the COGCC on Applications for Permits to Drill prior to approval (can be extended to 30 days)
•Request to convene Local Public Forums on spacing and increased well density applications.
•Participate in COGCC hearings and rulemakings as appropriate.
53
COGCC Local Governmental Designee(LGD) Program
February 2003 COGCC LGD Rulemaking:
• Consensus rulemaking proposed by the Colorado Oil and Gas Association and Colorado Counties, Inc. (CCI).
• Changed the comment period for LGD’s to provide comments on Applications for Permit to Drill (APD).
- Previously 7 days which could be extended upon request to 17 days.
- Changed to 10 days which could be extended to upon request to 30 days.
- Change allows an LGD additional time to seek input from citizens and provide comments to the COGCC.
54
COGCC Local Governmental Designee(LGD) Program
February 2003 COGCC LGD Rulemaking:
• During the 30 day comment period, if a local government is unable to have their concerns resolved through an onsite consultation, the LGD may file an application for a COGCC hearing on the Application for Permit to Drill.
• The LGD application for a COGCC hearing would allege significant impacts on public health, safety, welfare, and the environment.
55
COGCC Local Governmental Designee(LGD) Program
February 2003 COGCC LGD Rulemaking:
• Made it mandatory for the COGCC director to withold the issuance of an Application for Permit to Drill (APD) when requested to do so by a LGD.
- Requires that an expedited hearing be held at the next COGCC hearing to determine if an APD can be issued.
56
Colorado Oil and Gas Information System
(COGIS) Web Site www.oil-gas.state.co.us
• Statewide Colorado oil and gas information
• Accessible by operators, the public, and local, state, and federal government agencies free of charge via the Internet
• Can be accessed using commonly available Internet browsers (Microsoft Internet Explorer, Netscape)
57
Local Government Information
58
59
60
61
62
63
64
65
66