Upload
ngokhuong
View
212
Download
0
Embed Size (px)
Citation preview
Hvorfor en Landstrafikmodel?F b d t b l t i dl•Forbedret beslutningsgrundlag
•Samme beslutningsgrundlag–Sammenligning af projekter–Sammenligning af projekter–Fokus på projekterne
•Understøtter beslutningsprocessenø g p•Optimering af projekter•Løbende beredskab
–Hurtigere og billigere trafikanalyser
9/5-2012Den Danske Banekonference2 DTU Transport, Otto Anker Nielsen
Ensartet vurdering af projekterData for basisåret
Andre antagelser
Basis fremtids scenarier
Trafikmodel – Forudser adfærd og
trængsel
Eff k d ll Effektmodeller - beregner konsekvenser
Cost Benefit Anlyser - Værdisætter effekter
9/5-2012Den Danske Banekonference3 DTU Transport, Otto Anker Nielsen
Anvendelse af trafikmodeller
Optimering af projekter
Sammenligningaf projekter
Beslutningaf projekt
9/5-2012Den Danske Banekonference4 DTU Transport, Otto Anker Nielsen
Landstrafikmodellen
Forudsætninger
Planforud-
Resultater
Trafikale
Efterspørgsel, person
Langsigtetefterspørgsel
Efterspørgsel,gods
Langsigtetefterspørgsel
Planforud-sætninger
Infrastruktur
Trafikale effekter
Eksterne effekter
Kortsigtetefterspørgsel
Kortsigtetefterspørgsel
Trafikken 2010 IndikatorerRutevalg
PersonbilVarebil
KollektivFærger
CykelGang
Lastbilg
Flyg
9/5-2012Den Danske Banekonference5 DTU Transport, Otto Anker Nielsen5
LandstrafikmodellenLandstrafikmodellenFlere versioner
LTM 2.0skitse
LTM 0.1nationalt
LTM 1.0nationalt
LTM 2.0nationalt
LTM 1.xnationalt
LTM 1.xregionalt
LTM 2.0regionalt
9/5-2012Den Danske Banekonference6 DTU Transport, Otto Anker Nielsen6
Tid l f j kt tTidsplan for projektet
April 2015Arbejdssted og bilejerskab
M di 2012 Køreplansbaseret
Transport-middelkæder
F k b t
Medio 2012, v.1
Langsigtet
Transport-middelvalg Marts 2011 –
v.0.1
pkollektiv trafik
Frekvensbaseret kollektiv rutevalg
Langsigtet efterspørgsel
Overnat-ningsture Pseudo
TrafikspringNye data
Bil rutevalg
Nye rejse mønstre
v.0.1
F b d
Tilbringer-transport
Nye godsdata
Godsmodel
ningsture Pseudo dynamisk rutevalg
g
Rejsetids-variation
Forbedret trængsel
Gods ode
9/5-2012Den Danske Banekonference7 DTU Transport, Otto Anker Nielsen
Datagrundlag, LTM version 1
Zonesystem Netværk Matricer Tællinger Omkostninger
L0/L1Vej L1+L2 Vej
Personbiler Vej
L0/L1Vej L3
Kollektiv L3
Person- Personbiler – Varebiler-Lastbiler- (cykel) Kollektiv
L2Færger
l
Kollektiv- Tog, Bus
Færger
Færger
L3Fly
Cykel/gang
Gods Færger
Fly Fly
9/5-2012Den Danske Banekonference8 DTU Transport, Otto Anker Nielsen8
PersontrafikPersontrafikTransportvaneundersøgelsen (TU)B k i d k j ø t f é d•Beskriver danskernes rejsemønstre for én dag
–Ture, formål, transportmiddel, tidspunkt, bilejerskab, tid, omkostninger, billettype, …, g , yp ,
•TU klart den vigtigste datakilde–Dobbelt stikprøve medio 2009 – medio 2011–Model baseret på godt 87.000 interviews (260.000
enkeltture)•Indsamlet løbende siden 1992•Indsamlet løbende siden 1992
–Kan identificere adfærd og tendenser•Dannet rejsemønstreDannet rejsemønstre
–Til/fra, formål, tidspunkt–Personbil (fører og passager), kollektiv, fly, cykel og
9/5-2012Den Danske Banekonference9 DTU Transport, Otto Anker Nielsen
gang
Dækning med dobbelt stikprøve"" """ """ "" "
""" "" ""
" " "" " "" """ " """" """ "" "" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" " "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
" "
"
"
"
"
"
"
" "
""
" ""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
" "
""
"
" "
"
"
"
""
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
""
"
" ""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
" "
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
""
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
""
"
" "
"
""
"
"
"
"
"
"
"
"
""
"
" ""
"
""
"
"
"
"
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
2010:
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""""
"
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
""
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
""
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
" " "
"
"
"
"
"
"
"
""
""
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
" ""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"" "
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
" "
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
" "
" "
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"" "
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"""
""
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
" "
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" ""
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
" "
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
""
"
"
"
""
""
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" " "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" " "
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" ""
"
"
"
"""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
2008:"
"
"
""
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
""
""
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"""
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" " "
""
"
"
"
"
"
"
"
" "
"
"
"
" "
" "
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
""""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
""
"
"
"
"
"
""
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
""
"
"
""
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
""
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
""
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"""
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
""
"
""
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"" "
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
" ""
"
"
""
"
"
""
""
"
"
"
""
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
""
"""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
" "
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
""
"
"
"
"
"
" "
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
""
"
"
"
"
"""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"""
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
""
" "
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
" "
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
""
"
"
"
"
""
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
""
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" ""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
" "
"
"
"
""
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
""
"
"
""
"
"
"
""
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
""""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" ""
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
""
""
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" " ""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
""
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
" ""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "" "
"
"
"
" "
"
"
"
""
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
" "
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" " ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
""
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"" "
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" " "
"
"
""
"
"
"""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
" "
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" ""
"
"
"
"
"
""
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
" "
"
""
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
" "
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
" "
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
" ""
""
"
""
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"" "
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
" "
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" """
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
""
"
"""
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
""
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
" ""
"
"
"
"
""
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
" "
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
""
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
""
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
" "
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
""
"
"""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
""
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" ""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
""
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
""
"
"
"
"
"
" " "
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
""
"
"
"
"
""
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
""
""
"
"
"
"
"
"
"
"
"
" ""
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
""
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
" ""
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" """
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
" "
"
"
""
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
""
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
""
"
""
""
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
" "
"
"
""
""
"
"
"
" "
"
"""
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
" "
" "
"
""
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
""
"
"
""
"
" "
""
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
""
"
"
""
"""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"""
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
" "
"
"
"
"
"
""
"
" ""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
" "
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
" "
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"" "
"
"
""
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
""
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
""
""
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
""
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
""
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
" "
"
" "
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"""
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" " "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
""
"
"
"
"
"
""
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
" "
"
" "
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
""
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
""
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
" ""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
""
"
""""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
""
""
"
"
"
"
"
"
""
"
"
"""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
""
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
""
"
"
"
""
"
"
"
""
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"" "
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
" ""
"
"
"
"
"
""
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
" "
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
" "
" ""
""
""
"
"
"
"
"
"" "
""
"
""
""
" """""
""
"
" "
"
"
9/5-2012Den Danske Banekonference10 DTU Transport, Otto Anker Nielsen
"
"
"
""
"
""
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"" "
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"
"
"
""
""
"
"
"
" "
"
"
""
"
""
""
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
" "
"
"
"
"
"
"
" "
"
"
"
""
"
"
"
" "
"
"
""
"
"
"
""
"
"
"" "
"
"
"
"
"
""
" "
""
"
""
" "
"
"
"
"
""
"
"
"
"
"
"
"
"
"
""
"
"
"
""
"
""
" ""
""
"""
"
"
"
"
""
"
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
"
"
"
"" "
""
""
"
""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
""
"
"
"
"
""
"
""
""
"
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
"
"
"
"
"
""
"
""
"
"
"
""
"
""
"
TU dataSid d ti l t t d l bl b l tt t •Siden den nationale transportmodel blev besluttet blev TU ændret/udvidet;
–Ved kollektive ture spørges nu om rutenVed kollektive ture spørges nu om ruten–Dvs. viden om linjer og hvor der skiftes–Bedre viden om tilbringertransport
•Problemstillinger–En del data kræver fortolkning/manuel vurdering (ca.
20%)20%)–En del ruter er ”trivielle” (dominerende alternativ, f.eks.
Direkte stationsnær togbetjening fra hjem til arbejde)–Generering af alternativer til modelestimation
9/5-2012Den Danske Banekonference11 DTU Transport, Otto Anker Nielsen
Kollektivt net i LTMK l t kø l f j l•Komplet køreplan fra rejseplanen
•Stopgruppedatabase•Skiftekanter og zoneophæng•Skiftekanter og zoneophæng•Stationsdata
9/5-2012Den Danske Banekonference13 DTU Transport, Otto Anker Nielsen
Tællinger og matricer i LTMTællinger og matricer i LTM
•Basismatricer dannet ud fra flere kilder–Transportvaneundersøgelsen–Stationsmatricer (fra Trafikstyrelsen)–S-togsmatricer, metro data
•Omfattende tælledatabaseTrafikstyrelsen (Øst & Vesttælling m v )–Trafikstyrelsen (Øst & Vesttælling, m.v.)
–DSB S-tog, Arriva, metro–LokalbanerLokalbaner–Regionale trafikselskaber (bustrafik)–Færgedata–Internationale forbindelser–Langdistancebus
Justering af matricer ud fra tællinger9/5-2012Den Danske Banekonference14 DTU Transport, Otto Anker Nielsen
•Justering af matricer ud fra tællinger
Implementering i ArcGIS og Traffic Implementering i ArcGIS og Traffic Analyst
9/5-2012Den Danske Banekonference20 DTU Transport, Otto Anker Nielsen
Generelt om brugerfladeA biti t l tb k b •Ambitionen er, at mange slutbrugere kan bruge modellen
–Transportministeriet, Trafikstyrelsen, BaneDanmark, Transportministeriet, Trafikstyrelsen, BaneDanmark, DSB
–Trafikselskaberåd–Rådgivere
–,…
9/5-2012Den Danske Banekonference21 DTU Transport, Otto Anker Nielsen
Kollektiv model, version 0.xMetode• Metode
– Stokastisk brugerligevægt– Forskellige nyttefunktioner for forskellige turformål
• Bus, tog, tilbringertransport, skjult ventetid, ventetid, skiftetid, skiftestraf
– Fordeling af tidsværdier inden for et turformål– Tilbringertransport som zoneophæng– Køreplansbaseret
Simplificeret fordeling over døgnet– Simplificeret fordeling over døgnet• Estimering
– Eksisterende nyttefunktioner baseret på tidligere studier• Data
– Grove matricerNationalt niveau 2
9/5-2012Den Danske Banekonference22 DTU Transport, Otto Anker Nielsen
– Nationalt niveau 2
Tidligere parametre (tidsværdier, kh-rg)K / i BA E h Udd l &f i idKr/time BA Erhverv Uddannelse&fritid
#Observationer 3.446 909 4.208Bus 35 285 12S tog 27 227 9Reg / IC 27 194 9Adgangstid 45 270 20Skjult ventetid 16 73 7Vente- & skiftetid 38 270 28Forsinkelsestid 49 389 32Forsinkelsestid 49 389 32Siddeplads 2,6 19 3,0Skiftestraf (fast) 8 8 64 4 0
9/5-2012Den Danske Banekonference23 DTU Transport, Otto Anker Nielsen
Skiftestraf (fast) 8,8 64 4,0
Kalibrerede parametre (”tidsværdier”)K / i BA E h UddKr/time BA Erhverv Uddan.
FritidBus 11 282 34Bus 11 282 34Letbane 10 245 29Metro 7 181 22S tog 9 227 27
Reg / IC 11 265 32Adgangstid 45 300 20Skjult ventetid 20 168 7Vente- & skiftetid 38 288 18Skiftestraf (fast) 7 25 4,0
9/5-2012Den Danske Banekonference24 DTU Transport, Otto Anker Nielsen
Kollektiv model, version 1Metode• Metode
– Stokastisk brugerligevægt– Forskellige nyttefunktioner (tidsværdier, betalingsvilje) for
åforskellige turformål– Fordeling af tidsværdier inden for et turformål– KøreplansbaseretKøreplansbaseret– Fordeling over døgnet
• Estimering– Re-kalibrerede nyttefunktioner
• Data– Nye matricerNye matricer– 10 tidsintervaller– Nationalt niveau
I t ti l t fik
9/5-2012Den Danske Banekonference25 DTU Transport, Otto Anker Nielsen
– International trafik
Kollektiv model, senere versionerV 1 M d ll i f tilb i t t h d •V 1.x Modellering af tilbringertransport, herunder parker og rejs
•V 1 y Re-estimering ud fra •V 1.y Re estimering ud fra Transportvaneundersøgelsen
•V 2 Fleksibel køreplans- og frekvensbaseret model
•Måske (pt. ikke budgetlagt) modellering af f k lforsinkelser
9/5-2012Den Danske Banekonference26 DTU Transport, Otto Anker Nielsen