Meteorológus MSc
képzés tanrendje két szakiránnyal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Félévek |
Jegy |
|
Angol cím |
Kód |
Tanegység |
Felelős |
Ajánlás[1] |
7 |
|
8 |
|
9 |
|
10 |
|
Vi[2] |
Gy[3] |
Kr. |
|
|
|
|
|
E |
Gy |
E |
Gy |
E |
Gy |
E |
Gy |
|
|
|
|
I.
Matematika, fizika, informatika modul (Matyasovszky István) |
|
|
|
|
|
|
|
|
|
|
|
|
|
me2n1a01 |
Analízis ea |
Faragó István, Havasi Ágnes |
k. |
2 |
|
|
|
|
|
|
|
5 |
|
2 |
Mathematical Analysis |
me2n2a01 |
Analízis gy |
Faragó István, Havasi Ágnes |
k. |
|
1 |
|
|
|
|
|
|
|
5 |
1 |
Mathematical Analysis |
ee2n3a02 |
Meteorológiai
informatika |
Barcza Zoltán |
k. |
|
2 |
|
|
|
|
|
|
|
5 |
2 |
Computer Science in Meteorology |
ee2n1a03 |
Folyadékdinamika |
Tasnádi Péter |
k. |
3 |
|
|
|
|
|
|
|
5 |
|
3 |
Fluid Dynamics |
ee2n1a04 |
Termodinamika ea |
Tasnádi Péter |
k. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Thermodynamics |
ee2n2a04 |
Termodinamika gy |
Tasnádi Péter |
k. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Thermodynamics |
me2n1a05 |
Parciális
differenciálegyenletek ea |
Faragó István, Havasi Ágnes |
k. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Partial Differential Equations |
me2n2a05 |
Parciális
differenciálegyenletek gy |
Faragó István, Havasi Ágnes |
k. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Partial Differential Equations |
|
Összesen: |
|
|
5 |
3 |
4 |
2 |
0 |
0 |
0 |
0 |
|
|
14 |
|
II.
Dinamikus és szinoptikus meteorológia modul (Weidinger Tamás) |
|
|
|
|
|
|
|
|
|
|
|
|
ee2n1d01 |
Dinamikus
meteorológia 3 ea |
Weidinger Tamás |
k. |
2 |
|
|
|
|
|
|
|
5 |
|
2 |
Dynamic Meteorology 3 |
ee2n2d01 |
Dinamikus
meteorológia 3 gy |
Mészáros Róbert |
k. |
|
1 |
|
|
|
|
|
|
|
5 |
1 |
Dynamic Meteorology 3 |
ee2n1d02 |
Szinoptikus
meteorológia 3 ea |
Gyuró György |
k. |
2 |
|
|
|
|
|
|
|
5 |
|
2 |
Synoptic Meteorology 3 |
ee2n4d02 |
Szinoptikus
meteorológia 3 gy |
Gyuró György |
k. |
|
2 |
|
|
|
|
|
|
|
5 |
2 |
Synoptic Meteorology 3 |
ee2n1d03 |
Dinamikus
meteorológia 4 ea |
Tasnádi Péter |
k. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Dynamic Meteorology 4 |
ee2n2d03 |
Dinamikus
meteorológia 4 gy |
Tasnádi Péter |
k. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Dynamic Meteorology 4 |
ee2n1d04 |
Dinamikus modellezés
ea |
Práger Tamás |
k. |
|
|
3 |
|
|
|
|
|
5 |
|
3 |
Dynamic Modeling |
ee2n2d04 |
Dinamikus modellezés
gy |
Práger Tamás |
k. |
|
|
|
0 |
|
|
|
|
|
ai |
0 |
Dynamic Modeling |
ee2n1d05 |
Szinoptikus
meteorológia 4 ea |
Gyuró György |
k. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Synoptic Meteorology 4 |
ee2n4d05 |
Szinoptikus
meteorológia 4 gy |
Gyuró György |
k. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Synoptic Meteorology 4 |
ee2n1d06 |
Mezoszinoptika ea |
Horváth Ákos |
k. |
|
|
|
|
2 |
|
|
|
5 |
|
2 |
Mesosynoptics |
ee2n2d06 |
Mezoszinoptika gy |
Horváth Ákos |
k. |
|
|
|
|
|
1 |
|
|
|
5 |
1 |
Mesosynoptics |
|
Összesen: |
|
|
4 |
3 |
7 |
2 |
2 |
1 |
0 |
0 |
|
|
19 |
|
III.
Légkörfizikai és -klimatológia modul (Bartholy Judit) |
|
|
|
|
|
|
|
|
|
|
|
|
|
ee2n1l01 |
Légkörfizika 3 ea |
Ács Ferenc |
k. |
3 |
|
|
|
|
|
|
|
C |
|
3 |
Atmospheric Physics 3 |
ee2n2l01 |
Légkörfizika 3 gy |
Ács Ferenc |
k. |
|
0 |
|
|
|
|
|
|
|
ai |
0 |
Atmospheric Physics 3 |
ee2n1l02 |
Kimatológia 2 ea |
Bartholy Judit |
k. |
2 |
|
|
|
|
|
|
|
5 |
|
2 |
Climatology 2 |
ee2n2l02 |
Kimatológia 2 gy |
Bartholy Judit |
k. |
|
1 |
|
|
|
|
|
|
|
5 |
1 |
Climatology 2 |
ee2n2l03 |
Éghajlati adatok
feldolgozása 1 |
Matyasovszky István |
k. |
|
2 |
|
|
|
|
|
|
|
5 |
2 |
Analysis of Climate Data 1 |
ee2n1l04 |
Felszín-légkör
kölcsönhatások ea |
Ács Ferenc |
k. |
|
|
4 |
|
|
|
|
|
C |
|
4 |
Surface-Atmosphere Interactions |
ee2n2l04 |
Felszín-légkör
kölcsönhatások gy |
Ács Ferenc |
k. |
|
|
|
0 |
|
|
|
|
|
ai |
0 |
Surface-Atmosphere Interactions |
ee2n1l05 |
Éghajlati modellek |
Bartholy Judit |
k. |
|
|
|
|
2 |
|
|
|
C |
|
2 |
Climate Models |
ee2n1l06 |
Fizikai oceanográfia |
Práger Tamás |
k. |
|
|
|
|
1 |
|
|
|
5 |
|
1 |
Physical Oceanography |
ee2n1l07 |
Levegőkörnyezet-védelem
ea |
Pongrácz Rita |
k. |
|
|
|
|
|
|
2 |
|
5 |
|
2 |
Environment Protection |
ee2n2l07 |
Levegőkörnyezet-védelem
gy |
Mészáros Róbert |
k. |
|
|
|
|
|
|
|
1 |
|
5 |
1 |
Environment Protection |
|
Összesen: |
|
|
5 |
3 |
4 |
0 |
3 |
0 |
2 |
1 |
|
|
18 |
|
IV.
Meteorológiai módszerek (Mészáros Róbert) |
|
|
|
|
|
|
|
|
|
|
|
|
|
ee2n1m01 |
Meteorológiai
műszerek és megfigyelések ea |
Mészáros Róbert |
k. |
1 |
|
|
|
|
|
|
|
C |
|
1 |
Meteorological Instruments and
Observations |
ee2n1m01 |
Meteorológiai
műszerek és megfigyelések gy |
Mészáros Róbert |
k. |
|
2 |
|
|
|
|
|
|
|
5 |
2 |
Meteorological Instruments and
Observations |
ee2n6m02 |
Évközi
terepgyakorlat |
Mészáros Róbert |
k. |
|
1 |
|
|
|
|
|
|
|
3 |
1 |
Mid-semester Practice |
ee2n6m05 |
Nyári terepgyakorlat |
Mészáros Róbert |
k. |
|
|
1 |
|
|
|
|
|
|
3 |
1 |
Summer Practice |
ee2n1m03 |
Műholdmeteorológiai
és távérzékelés ea |
Pongrácz Rita |
k. |
|
|
2 |
|
|
|
|
|
C |
|
2 |
Satellite Meteorology and Remote
Sensing |
ee2n2m03 |
Műholdmeteorológiai
és távérzékelés gy |
Pongrácz Rita |
k. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Satellite Meteorology and Remote
Sensing |
ee2n1m04 |
Idősor elemzés ea |
Matyasovszky István |
k. |
|
|
|
|
2 |
|
|
|
5 |
|
2 |
Time Series Analysis |
ee2n2m04 |
Idősor elemzés gy |
Matyasovszky István |
k. |
|
|
|
|
|
1 |
|
|
|
5 |
1 |
Time Series Analysis |
|
Összesen: |
|
|
1 |
3 |
3 |
1 |
2 |
1 |
0 |
0 |
|
|
11 |
|
V. Szabadon választható tárgyak (Ács
Ferenc-koordinátor) Bármely fizika, matematika, kémia, v. meteorológia tárgy (az alábbiak javasoltak) |
|
eg1n1E14 |
Dinamikus
meteorológia 1 |
Weidinger Tamás |
sz.v. |
3 |
|
|
|
|
|
|
|
C |
|
3 |
Dynamic Meteorology 1 |
eg1n2E14 |
Dinamikus
meteorológia 1 |
Weidinger Tamás |
sz.v. |
|
2 |
|
|
|
|
|
|
|
5 |
2 |
Dynamic Meteorology 1 |
eg1n1E15 |
Dinamikus
meteorológia 2 |
Weidinger Tamás |
sz.v. |
|
|
3 |
|
|
|
|
|
5 |
|
3 |
Dynamic Meteorology 2 |
eg1n2E15 |
Dinamikus
meteorológia 2 |
Weidinger Tamás |
sz.v. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Dynamic Meteorology 2 |
eg1n1E10 |
Szinoptikus
meteorológia 1 |
Gyuró György |
sz.v. |
2 |
|
|
|
|
|
|
|
5 |
|
2 |
Synoptic Meteorology 1 |
eg1n2E10 |
Szinoptikus
meteorológia 2 |
Gyuró György |
sz.v. |
|
|
|
2 |
|
|
|
|
|
5 |
2 |
Synoptic Meteorology 2 |
eg1n1E08 |
Alkalmazott
klimatológia |
Bartholy Judit |
sz.v. |
2 |
|
|
|
|
|
|
|
C |
|
2 |
Applied Meteorology |
eg1n2E08 |
Alkalmazott
klimatológia |
Bartholy Judit |
sz.v. |
|
1 |
|
|
|
|
|
|
|
5 |
1 |
Applied Meteorology |
eg1n1E11 |
Légkörfizika 1 |
Ács Ferenc |
sz.v. |
3 |
|
|
|
|
|
|
|
C |
|
3 |
Atmospheric Physics 1 |
eg1n2E11 |
Légkörfizika 1 |
Ács Ferenc |
sz.v. |
|
0 |
|
|
|
|
|
|
|
ai |
0 |
Atmospheric Physics 1 |
eg1n1E12 |
Légkörfizika 2 |
Ács Ferenc |
sz.v. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Atmospheric Physics 2 |
eg1n2E12 |
Légkörfizika 2 |
Ács Ferenc |
sz.v. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Atmospheric Physics 2 |
eg1n1E13 |
Levegőkémia |
Haszpra László |
sz.v. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Atmospheric Chemistry |
eg1n2E13 |
Levegőkémia |
Haszpra László |
sz.v. |
|
|
|
1 |
|
|
|
|
|
5 |
1 |
Atmospheric Chemistry |
ee2n1s01 |
Meteorology in
English |
Bartholy Judit |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Meteorology in English |
ee2n1s02 |
Meteorologischer Kurs auf Deutsch |
Ács Ferenc |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Meteorology in German |
ee2n1s03 |
Égh. idősorok
elemzésének stat. módszerei |
Matyasovszky István |
sz.v. |
|
|
|
|
|
|
|
|
2 |
|
2 |
Statistical Methods for Climate Data
Analysis |
ee2n1s04 |
Határréteg
meteorológia |
Weidinger Tamás |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Boundary Layer Meteorology |
ee2n1s05 |
A felsőlégkör
fizikája |
Ács Ferenc |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Physics of Upper Atmosphere |
ee2n1s06 |
Ökológiai
klimatológia |
Ács Ferenc |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Ecological Climatology |
ee2n1s07 |
Globális
klímamodellezés |
Pongrácz Rita |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Global Climate Modeling |
ee2n1s08 |
Felszíni áramok
modellezése |
Mészáros Róbert |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Modeling Surface Fluxes |
ee2n1s09 |
Korszerű
meteorológiai adatformátumok |
Barcza Zoltán |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Modern Meteorological Data Format |
ee2n1s10 |
Mindennapok fizikája |
Tasnádi Péter |
sz.v. |
|
|
|
|
|
|
|
|
2 |
|
2 |
Everyday Physics |
ee2n1s11 |
Katonai meteorológia |
Mészáros Róbert |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Military Meteorology |
ee2n1s12 |
Válogatott fejezetek
a matematikából 1 |
Faragó István |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Selected Parts of Mathematics |
ee2n1s13 |
Válogatott fejezetek
a matematikából 2 |
Faragó István |
sz.v. |
|
|
|
|
|
|
|
|
5 |
|
2 |
Selected Parts of Mathematics |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Összesen (a 10. Félév végéig kell fölvenni): |
|
2 |
|
2 |
|
2 |
|
2 |
|
|
|
8 |
|
VI-A
Előrejelző szakirány (Tasnádi Péter) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ee2n1e01 |
Előrejelzési
informatika ea |
Barcza Zoltán |
k. |
|
|
1 |
|
|
|
|
|
5 |
|
1 |
Computer Science in Weather Forecas |
ee2n3e01 |
Előrejelzési
informatika gy |
Barcza Zoltán |
k. |
|
|
|
2 |
|
|
|
|
|
5 |
2 |
Computer Science in Weather Forecas |
ee2n4e02 |
Előrejelzési
gyakorlat |
Dezső Zsuzsanna |
k. |
|
|
|
3 |
|
|
|
|
|
5 |
3 |
Weather Forecast Practice |
ee2n4e03 |
Légköri energetika |
Tasnádi Péter |
k. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Atmospheric Energetics |
ee2n1e04 |
Szinoptikus
meteorológia 5 ea |
Dezső Zsuzsanna |
k. |
|
|
|
|
2 |
|
|
|
5 |
|
2 |
Synoptic Meteorology 5 |
ee2n4e04 |
Szinoptikus meteorológia 5 gy |
Dezső Zsuzsanna |
k. |
|
|
|
|
|
4 |
|
|
|
5 |
4 |
Synoptic Meteorology 5 |
ee2n1e05 |
Dinamikus modellezés 2 ea |
Práger Tamás |
k. |
|
|
|
|
2 |
|
|
|
5 |
|
3 |
Dynamic Modeling 2 |
ee2n2e05 |
Dinamikus modellezés
2 gy |
Práger Tamás |
k. |
|
|
|
|
|
1 |
|
|
|
ai |
0 |
Dynamic Modeling 3 |
ee2n4e06 |
Előrejelzési
gyakorlat 2 |
Dezső Zsuzsanna |
k. |
|
|
|
|
|
3 |
|
|
|
3 |
3 |
Weather Forecast Practice 2 |
ee2n1e07 |
Mező elemzés ea |
Matyasovszky István |
k. |
|
|
|
|
|
|
2 |
|
5 |
|
2 |
Field Analysis |
ee2n2e07 |
Mező elemzés gy |
Matyasovszky István |
k. |
|
|
|
|
|
|
|
1 |
|
5 |
1 |
Field Analysis |
ee2n1e08 |
Numerikus
előrejelzés |
Horányi András |
k. |
|
|
|
|
3 |
|
3[4] |
|
5 |
|
3 |
Numerical Prediction |
ee2n1e09 |
Repülésmeteorológia |
Gyuró György |
k. |
|
|
|
|
|
|
2 |
|
C |
|
2 |
Aviation Meteorology |
ee2n1e10 |
Médiameteorológia |
Gyuró György |
k. |
|
|
|
|
|
|
2 |
|
C |
|
2 |
Media Meteorology |
|
Összesen: |
|
|
0 |
0 |
3 |
5 |
7 |
8 |
6 |
1 |
|
|
30 |
|
VI-B
Éghajlatkutató szakirány (Bartholy Judit) |
|
|
|
|
|
|
|
|
|
|
|
|
|
ee2n1k01 |
Éghajlati adatok
feldolgozása 2 ea |
Barcza Zoltán |
k. |
|
|
1 |
|
|
|
|
|
5 |
|
1 |
Analysis of Climate Data 2 |
ee2n3k01 |
Éghajlati adatok
feldolgozása 2 gy |
Barcza Zoltán |
k. |
|
|
|
3 |
|
|
|
|
|
5 |
3 |
Analysis of Climate Data 2 |
ee2n1k02 |
Globális és
regionális éghajlatváltozás |
Bartholy Judit |
k. |
|
|
2 |
|
|
|
|
|
5 |
|
2 |
Global and Regional Climate Change |
ee2n1k03 |
Éghajlat modellezés
ea |
Bartholy Judit |
k. |
|
|
|
|
2 |
|
|
|
C |
|
2 |
Climate Modeling |
ee2n2k03 |
Éghajlat modellezés
gy |
Bartholy Judit |
k. |
|
|
|
|
|
1 |
|
|
|
5 |
1 |
Climate Modeling |
ee2n1k04 |
Óceán és krioszféra |
Pongrácz Rita |
k. |
|
|
2 |
|
|
|
|
|
C |
|
2 |
Ocean and Cryosphere |
ee2n1k05 |
Hidrológia ea |
Pongrácz Rita |
k. |
|
|
|
|
3 |
|
|
|
5 |
|
3 |
Hydrology |
ee2n2k05 |
Hidrológia gy |
Pongrácz Rita |
k. |
|
|
|
|
|
0 |
|
|
|
ai |
0 |
Hydrology |
ee2n1k06 |
Kémiai folyamatok a
légkörben ea |
Haszpra László |
k. |
|
|
|
|
2 |
|
|
|
5 |
|
2 |
Chemical Processes in the Atmosphere |
ee2n2k06 |
Kémiai folyamatok a
légkörben gy |
Havasi Ágnes |
k. |
|
|
|
|
|
1 |
|
|
|
5 |
1 |
Chemical Processes in the Atmosphere |
ee2n2k01 |
Agroklimatológia ea |
Ács Ferenc |
k. |
|
|
|
|
1 |
|
|
|
C |
|
1 |
Agroclimatology |
ee2n1k08 |
Agroklimatológia gy |
Ács Ferenc |
k. |
|
|
|
|
|
1 |
|
|
|
ai |
1 |
Agroclimatology |
ee2n1k08 |
Megújuló
energiaforrások ea |
Bartholy Judit |
k. |
|
|
|
|
|
|
2 |
|
C |
3 |
2 |
Renewable Energy Sources |
ee2n2k08 |
Megújuló
energiaforrások gy |
Bartholy Judit |
k. |
|
|
|
|
|
|
|
1 |
|
|
1 |
Renewable Energy Sources |
ee2n1k09 |
Biogeokémiai
körfolyamatok |
Ács Ferenc |
k. |
|
|
|
|
|
|
2 |
|
C |
|
2 |
Biogeochemical Processes |
ee2n1k10 |
Statisztikus
klimatológia |
Matyasovszky István |
k. |
|
|
|
|
|
|
2 |
|
C |
|
2 |
Statistical Climatology |
ee2n1k11 |
Városklíma ea |
Bartholy Judit |
k. |
|
|
|
|
|
|
2 |
|
5 |
|
2 |
Urban Climatology |
ee2n2k11 |
Városklíma gy |
Bartholy Judit |
k. |
|
|
|
|
|
|
|
2 |
|
5 |
2 |
Urban Climatology |
|
Összesen: |
|
|
0 |
0 |
5 |
3 |
8 |
3 |
8 |
3 |
|
|
30 |
|
Diplomamunka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ee2n7p01 |
Diplomamunkához
kapcsolódó szaklabor 1 |
tanszéki konzulens |
|
|
|
|
|
|
4 |
|
|
|
5 |
4 |
Thesis (Laboratory Practice) 1 |
ee2n7p02 |
Diplomamunkához kapcsolódó szaklabor 2 |
tanszéki konzulens |
|
|
|
|
|
|
|
|
16 |
|
5 |
16 |
Thesis (Laboratory Practice) 2 |
|
Összesen: |
|
|
0 |
0 |
0 |
0 |
0 |
4 |
0 |
16 |
|
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm.+ gyak. (Előrejelző szakiránnyal) |
|
17 |
12 |
23 |
10 |
16 |
14 |
10 |
18 |
S
kr: |
|
120 |
|
|
|
elm.+ gyak. (Éghajlatkutató
szakiránnyal) |
|
17 |
12 |
25 |
8 |
17 |
9 |
12 |
20 |
S
kr: |
|
120 |
|
|
|
összes félévi terhelés (Előrejelző szakiránnyal) |
|
29 |
|
33 |
|
30 |
|
28 |
|
|
|
|
|
|
|
összes félévi terhelés
(Éghajlatkutató szakiránnyal) |
|
29 |
|
33 |
|
26 |
|
32 |
|
|
|
|
|
|
|
összes terhelés (Előrejelző szakiránnyal) |
|
S e |
66 |
S gy |
54 |
|
S: |
120 |
|
|
|
|
összes terhelés (Éghajlatkutató
szakiránnyal) |
|
S e |
71 |
S gy |
49 |
|
S: |
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|