Bench Press World Ranking 2010
Men 67.5 kg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PL |
NAME |
YOB |
NAT |
BWT |
Result |
Place |
Date |
|
|
1. |
Ivan Chuprinko |
1986 |
UKR |
67,00 |
220,0 |
Bratislava |
12.08.2010 |
|
|
|
|
2. |
Raman Yeremashvili |
1981 |
BLR |
66,70 |
217,5 |
Bratislava |
12.08.2010 |
|
|
|
|
|
|
3. |
Toshihiko Noda |
1979 |
JPN |
66,60 |
215,0 |
Killeen |
26.05.2010 |
|
|
|
|
4. |
Nikolay Sokolov |
1979 |
RUS |
67,50 |
212,5 |
Bratislava |
12.08.2010 |
|
|
|
|
|
|
5. |
Andrei Huk |
1979 |
BLR |
66,70 |
210,0 |
Bratislava |
12.08.2010 |
|
|
|
|
|
|
|
Evanio Rodrigues da
Silva |
1984 |
BRA |
67,20 |
210,0 |
San Sebastiao |
27.11.2010 |
|
|
|
|
7. |
Joseph Smith |
1976 |
USA |
67,20 |
207,5 |
Killeen |
26.05.2010 |
|
|
|
|
|
|
|
Oleg Butenko |
1983 |
KAZ |
66,80 |
207,5 |
Manila |
14.08.2010 |
|
|
|
|
|
Keisuke Takahashi |
1973 |
JPN |
67,10 |
207,5 |
Manila |
14.08.2010 |
|
|
10. |
Michael Broussard |
1989 |
USA |
66,70 |
200,0 |
Columbus |
06.03.2010 |
|
|
|
Norihiro Otani |
1980 |
JPN |
67,24 |
200,0 |
Potchefstroom |
09.11.2010 |
|
|
|
Sergey Gladkikh |
1989 |
RUS |
67,26 |
200,0 |
Potchefstroom |
09.11.2010 |
|
|
13. |
Jose Inguanti |
1963 |
ARG |
66,70 |
197,5 |
San Sebastiao |
27.11.2010 |
|
|
14. |
Ming-Hui Lin |
1983 |
TPE |
67,30 |
195,0 |
Ulan Bator |
03.05.2010 |
|
|
15. |
Phillip Richard |
1971 |
GBR |
67,45 |
192,5 |
Köping |
04.05.2010 |
|
|
|
Maksym Masyuk |
1989 |
UKR |
67,20 |
192,5 |
Pilsen |
01.09.2010 |
|
|
17. |
Dmitry Makarov |
1988 |
RUS |
67,30 |
190,0 |
Köping |
04.05.2010 |
|
|
|
Eric Oishi |
1979 |
BRA |
67,40 |
190,0 |
Montevideo |
07.08.2010 |
|
|
|
Jarosław Olech |
1974 |
POL |
67,20 |
190,0 |
Potchefstroom |
09.11.2010 |
|
|
20. |
Masaharu Koiwai |
1976 |
JPN |
67,22 |
187,5 |
Potchefstroom |
09.11.2010 |
|
|
21. |
Yuuta Hoshino |
1989 |
JPN |
67,10 |
185,0 |
Killeen |
26.05.2010 |
|
|
|
Lenin La Rosa |
1985 |
VEN |
67,30 |
185,0 |
Montevideo |
07.08.2010 |
|
|
|
Adrien Poinson |
1991 |
FRA |
66,30 |
185,0 |
Pilsen |
01.09.2010 |
|
|
24. |
Olivier Waymel |
1966 |
FRA |
66,75 |
184,0 |
Hagondange |
22.10.2010 |
|
|
25. |
Masayuki Takahashi |
1960 |
JPN |
67,23 |
183,0 |
Pilsen |
27.09.2010 |
|
|
26. |
Grzegorz Bielecki |
1987 |
POL |
66,60 |
180,0 |
Killeen |
26.05.2010 |
|
|
|
Antti Ahonen |
1988 |
FIN |
66,80 |
180,0 |
Killeen |
26.05.2010 |
|
|
|
Sebastian
Villagra |
1986 |
ARG |
66,50 |
180,0 |
Montevideo |
07.08.2010 |
|
|
|
Artur Mashinsky |
1987 |
RUS |
67,50 |
180,0 |
Pilsen |
01.09.2010 |
|
|
30. |
Andre Garcia |
1982 |
BRA |
67,00 |
175,0 |
Montevideo |
07.08.2010 |
|
|
31. |
Toru Magome |
1943 |
JPN |
67,10 |
170,5 |
Orlando |
31.03.2010 |
|
|
32. |
Domarrio Holloway |
1977 |
USA |
66,80 |
170,0 |
Columbus |
06.03.2010 |
|
|
|
Anton Kraft |
1962 |
DEN |
61,70 |
170,0 |
Orlando |
31.03.2010 |
|
|
|
Toru Ashihara |
1990 |
JPN |
67,10 |
170,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Dorj Gansukh |
1980 |
MGL |
67,30 |
170,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Keiji Sato |
1952 |
JPN |
67,00 |
170,0 |
Manila |
14.08.2010 |
|
|
37. |
Edgardo Munar |
1967 |
PHI |
66,80 |
167,5 |
Orlando |
31.03.2010 |
|
|
|
Norbert Deli |
1981 |
HUN |
67,50 |
167,5 |
Bratislava |
12.08.2010 |
|
|
39. |
Claude Sitruk |
1950 |
FRA |
65,90 |
165,0 |
Orlando |
31.03.2010 |
|
|
|
Rustam Saginov |
|
KAZ |
66,70 |
165,0 |
Ulan Bator |
03.05.2010 |
|
|
41. |
Marc Lambert |
1963 |
FRA |
66,90 |
160,0 |
Orlando |
31.03.2010 |
|
|
|
Hassan El Belghitti |
1975 |
FRA |
67,40 |
160,0 |
Köping |
04.05.2010 |
|
|
|
Pierangelo Puddu |
1977 |
ITA |
67,24 |
160,0 |
Hamm |
24.09.2010 |
|
|
|
Lewis Noppers |
1970 |
CAN |
67,50 |
160,0 |
Pilsen |
27.09.2010 |
|
|
|
Francisco Rodriguez |
1969 |
ESP |
66,75 |
160,0 |
Hagondange |
22.10.2010 |
|
|
|
Abdelkader Aissa |
1969 |
ALG |
67,44 |
160,0 |
Potchefstroom |
09.11.2010 |
|
|
47. |
Shunsuke Kamioka |
1957 |
JPN |
66,80 |
157,5 |
Orlando |
31.03.2010 |
|
|
|
Takashi Mori |
1963 |
JPN |
67,30 |
157,5 |
Orlando |
31.03.2010 |
|
|
49. |
Peng-Hsiu Yen |
1972 |
TPE |
66,50 |
155,0 |
Manila |
14.08.2010 |
|
|
|
Yoshito Nishimura |
1990 |
JPN |
66,10 |
155,0 |
Pilsen |
01.09.2010 |
|
|
|
Gregory Simmons |
1965 |
USA |
67,45 |
155,0 |
Pilsen |
27.09.2010 |
|
|
|
Evgeny Golovko |
1983 |
RUS |
67,30 |
155,0 |
Kahramanmaras |
18.10.2010 |
|
|
53. |
Dmitriy Kolotvinov |
1991 |
UZB |
66,80 |
152,5 |
Ulan Bator |
03.05.2010 |
|
|
|
Gabriel Quispe |
1981 |
PER |
66,70 |
152,5 |
Montevideo |
07.08.2010 |
|
|
|
Anton Polyakov |
1992 |
RUS |
67,30 |
152,5 |
Pilsen |
31.08.2010 |
|
|
|
John Strachan |
1988 |
NZL |
67,10 |
152,5 |
Apia |
10.12.2010 |
|
|
57. |
Karsten Gelhar |
1957 |
GER |
67,40 |
150,0 |
Orlando |
31.03.2010 |
|
|
|
Héctor Sánchez |
1990 |
ECU |
65,50 |
150,0 |
Montevideo |
07.08.2010 |
|
|
|
Jacob Carrasco
Gonzales |
1966 |
PER |
67,30 |
150,0 |
Montevideo |
07.08.2010 |
|
|
|
Miguel Curipoma |
1987 |
ECU |
67,50 |
150,0 |
Pilsen |
01.09.2010 |
|
|
|
Dominic Cadden |
|
AUS |
66,05 |
150,0 |
Apia |
11.12.2010 |
|
|
62. |
Ernst Klewe |
1950 |
GER |
66,50 |
147,5 |
Orlando |
31.03.2010 |
|
|
|
Larry Miller |
1954 |
USA |
67,10 |
147,5 |
Orlando |
31.03.2010 |
|
|
|
|
|
|
Rusty Burris |
1992 |
USA |
62,90 |
147,5 |
Killeen |
26.05.2010 |
|
|
|
|
|
|
|
Hans E. Folkeseth |
1989 |
NOR |
66,10 |
147,5 |
Hamar |
08.06.2010 |
|
|
|
Peep Päll |
1970 |
EST |
66,71 |
147,5 |
Pilsen |
27.09.2010 |
|
|
|
Timo Heiskanen |
1970 |
FIN |
67,34 |
147,5 |
Pilsen |
27.09.2010 |
|
|
|
Roman Kurov |
1986 |
UKR |
67,00 |
147,5 |
Kahramanmaras |
18.10.2010 |
|
|
|
Peter Muigg |
1958 |
AUT |
67,00 |
147,5 |
Hagondange |
21.10.2010 |
|
|
70. |
Chin-Kuo Tsai |
1987 |
TPE |
65,50 |
145,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Grigoriy Borodkin |
1991 |
KAZ |
66,50 |
145,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Jason Rupnow |
1992 |
USA |
67,30 |
145,0 |
Killeen |
26.05.2010 |
|
|
|
Kazuyuki Hasegawa |
1967 |
JPN |
67,00 |
145,0 |
Manila |
14.08.2010 |
|
|
|
Oliver Weissenbacher |
1986 |
AUT |
65,22 |
145,0 |
Potchefstroom |
09.11.2010 |
|
|
75. |
Jules Pellegrino |
1943 |
USA |
67,10 |
142,5 |
Orlando |
31.03.2010 |
|
|
|
Christopher Cardona |
1991 |
PUR |
66,80 |
142,5 |
Aguadilla |
05.08.2010 |
|
|
|
Tibor Salat |
1976 |
CZE |
65,00 |
142,5 |
Bratislava |
12.08.2010 |
|
|
78. |
Henryk Hintzke |
1957 |
POL |
64,90 |
140,0 |
Pilsen |
23.06.2010 |
|
|
|
Jonas Telegin |
1965 |
SWE |
67,10 |
140,0 |
Pilsen |
25.06.2010 |
|
|
|
Edwin Sonido |
|
PHI |
65,30 |
140,0 |
Manila |
14.08.2010 |
|
|
|
Sven Gäde |
1988 |
GER |
67,50 |
140,0 |
Hamm |
24.09.2010 |
|
|
|
Jonhi Rosas |
1989 |
URU |
65,60 |
140,0 |
San Sebastiao |
27.11.2010 |
|
|
|
Michael Gardner |
1968 |
NZL |
66,30 |
140,0 |
Apia |
10.12.2010 |
|
|
84. |
Mike Gardiner |
|
NZL |
67,30 |
135,0 |
Christchurch |
13.02.2010 |
|
|
|
Yi-Hsiang Lin |
|
TPE |
64,80 |
135,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Patrick Fuderer |
1991 |
AUT |
66,50 |
135,0 |
Killeen |
26.05.2010 |
|
|
|
Amirreza Asadollah |
|
IRI |
61,10 |
135,0 |
Manila |
14.08.2010 |
|
|
|
Vichet Duong |
1993 |
FRA |
65,20 |
135,0 |
Pilsen |
31.08.2010 |
|
|
|
Dimitri Didon |
1991 |
FRA |
66,60 |
135,0 |
Pilsen |
01.09.2010 |
|
|
|
Seyed Hadi Hosseini
Pirkoohi |
1968 |
IRI |
65,70 |
135,0 |
Kahramanmaras |
18.10.2010 |
|
|
91. |
Amir Assadollahzadeh |
|
IRI |
62,15 |
132,5 |
Ulan Bator |
03.05.2010 |
|
|
92. |
Gansukh Batsukh |
|
MGL |
65,50 |
130,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Arab Jamir |
|
AFG |
66,85 |
130,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Shinebayar
Rentsensedev |
|
MGL |
67,05 |
130,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Luciano Torres |
1990 |
USA |
66,70 |
130,0 |
Aguadilla |
05.08.2010 |
|
|
|
Daniel Decia |
1970 |
URU |
64,50 |
130,0 |
Montevideo |
07.08.2010 |
|
|
|
Nicholas Laznovsky |
1992 |
USA |
65,10 |
130,0 |
Pilsen |
31.08.2010 |
|
|
|
David Dadvande |
1992 |
SWE |
67,40 |
130,0 |
Pilsen |
31.08.2010 |
|
|
|
Iurii Romaniuk |
1991 |
UKR |
66,50 |
130,0 |
Kahramanmaras |
18.10.2010 |
|
|
|
Abass Whelit |
1989 |
IRQ |
66,14 |
130,0 |
Potchefstroom |
09.11.2010 |
|
|
101. |
Altanbagana
Sharavdorj |
|
MGL |
66,75 |
127,5 |
Ulan Bator |
03.05.2010 |
|
|
|
Hiroyuki Terakado |
1960 |
JPN |
66,85 |
127,5 |
Ulan Bator |
03.05.2010 |
|
|
|
Hironori Niwa |
1961 |
JPN |
67,05 |
127,5 |
Ulan Bator |
03.05.2010 |
|
|
|
Dmytro Pavlenko |
1992 |
UKR |
66,60 |
127,5 |
Pilsen |
31.08.2010 |
|
|
|
Timo Leino |
1958 |
FIN |
61,83 |
127,5 |
Pilsen |
27.09.2010 |
|
|
|
Adam Jasiñski |
1951 |
POL |
67,48 |
127,5 |
Pilsen |
27.09.2010 |
|
|
|
Dieter Schuck |
1948 |
GER |
67,35 |
127,5 |
Hagondange |
21.10.2010 |
|
|
|
Danilo F.B. Costa |
1991 |
BRA |
64,52 |
127,5 |
Potchefstroom |
09.11.2010 |
|
|
|
Adriano Rodrigues
Xavier |
1990 |
BRA |
66,10 |
127,5 |
San Sebastiao |
27.11.2010 |
|
|
110. |
Chalak Ali |
|
IRQ |
67,00 |
125,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Erkki Rautiainen |
1956 |
FIN |
66,85 |
125,0 |
Hagondange |
21.10.2010 |
|
|
|
Gary Prater |
1964 |
GBR |
67,45 |
125,0 |
Hagondange |
22.10.2010 |
|
|
113. |
Paulo Guilherme de
Campos |
1994 |
BRA |
65,40 |
122,5 |
San Sebastiao |
27.11.2010 |
|
|
114. |
Ivan Zwick |
1939 |
USA |
66,60 |
120,0 |
Orlando |
01.04.2010 |
|
|
|
Ashok Vishwakarma |
1963 |
IND |
67,15 |
120,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Oscar Mejia |
1964 |
MEX |
64,60 |
120,0 |
Aguadilla |
05.08.2010 |
|
|
|
Rápale Leite |
1987 |
BRA |
66,40 |
120,0 |
Montevideo |
07.08.2010 |
|
|
|
Jed Marc Millora |
|
PHI |
66,90 |
120,0 |
Manila |
14.08.2010 |
|
|
|
Rafael Novais Silva |
1993 |
BRA |
66,50 |
120,0 |
San Sebastiao |
27.11.2010 |
|
|
|
Douglas Hope |
|
NZL |
65,15 |
120,0 |
Apia |
11.12.2010 |
|
|
121. |
Jeffrey Jacobs |
1947 |
USA |
66,36 |
117,5 |
Pilsen |
27.09.2010 |
|
|
122. |
Ashok Chakravorty |
1961 |
IND |
64,40 |
115,0 |
Killeen |
26.05.2010 |
|
|
|
Andreas Petzold |
1960 |
GER |
67,00 |
115,0 |
Pilsen |
23.06.2010 |
|
|
|
Paulo Campos |
1994 |
BRA |
66,20 |
115,0 |
Montevideo |
07.08.2010 |
|
|
|
Jorge Gonzales |
1993 |
ECU |
66,40 |
115,0 |
Montevideo |
07.08.2010 |
|
|
|
Bogdan Onolov |
1990 |
ROM |
62,50 |
115,0 |
Pilsen |
01.09.2010 |
|
|
|
Heimo Törmä |
1950 |
FIN |
66,38 |
115,0 |
Pilsen |
27.09.2010 |
|
|
128. |
Rick Esposito |
1959 |
USA |
65,10 |
112,5 |
Aguadilla |
05.08.2010 |
|
|
129. |
Shababi Ali Ahamd |
|
AFG |
65,35 |
110,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Ralph Aguinaldo |
|
PHI |
66,10 |
110,0 |
Manila |
14.08.2010 |
|
|
|
Kennedy Sekome |
1992 |
RSA |
65,80 |
110,0 |
Pilsen |
31.08.2010 |
|
|
|
Alain Cuvelier |
1953 |
FRA |
66,86 |
110,0 |
Pilsen |
27.09.2010 |
|
|
133. |
Katsuo Iwakami |
1943 |
JPN |
62,35 |
107,5 |
Ulan Bator |
03.05.2010 |
|
|
|
Karel Ruso |
1965 |
CZE |
67,20 |
107,5 |
Pilsen |
25.06.2010 |
|
|
|
Kamil Dębski |
1993 |
POL |
64,60 |
107,5 |
Pilsen |
31.08.2010 |
|
|
|
Errico Iacomini |
1949 |
GER |
65,61 |
107,5 |
Pilsen |
27.09.2010 |
|
|
|
Mehmet Kaymakoglu |
1971 |
TUR |
66,80 |
107,5 |
Kahramanmaras |
18.10.2010 |
|
|
138. |
Kyung-Bub Hur |
|
KOR |
60,45 |
105,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Frank Schoennerstedt |
1966 |
GER |
66,60 |
105,0 |
Pilsen |
25.06.2010 |
|
|
|
Bruno dos Santos |
1992 |
BRA |
65,10 |
105,0 |
Montevideo |
07.08.2010 |
|
|
141. |
Jonathan Joseph |
1963 |
ISV |
67,50 |
102,5 |
Aguadilla |
05.08.2010 |
|
|
|
James Duff |
1992 |
GBR |
66,90 |
102,5 |
Pilsen |
31.08.2010 |
|
|
143. |
Sergio Sanchez |
1988 |
PAR |
66,40 |
100,0 |
Montevideo |
07.08.2010 |
|
|
|
Manouckehr Sarfaraz |
|
IRI |
67,40 |
100,0 |
Manila |
14.08.2010 |
|
|
145. |
Zak Cox |
|
NZL |
65,50 |
97,5 |
Christchurch |
13.02.2010 |
|
|
|
Senani Ekici |
1967 |
TUR |
66,50 |
97,5 |
Kahramanmaras |
18.10.2010 |
|
|
147. |
Satya Prakash |
1958 |
IND |
66,25 |
95,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Georges Auberval |
1956 |
FRA |
66,19 |
95,0 |
Pilsen |
27.09.2010 |
|
|
|
Paul Mears |
1953 |
USA |
66,91 |
95,0 |
Pilsen |
27.09.2010 |
|
|
|
Mario Blanco |
1959 |
URU |
67,00 |
95,0 |
San Sebastiao |
27.11.2010 |
|
|
151. |
Yoshinori Hara |
1958 |
JPN |
66,90 |
92,5 |
Ulan Bator |
03.05.2010 |
|
|
|
Yasumitsu Takei |
|
JPN |
63,10 |
92,5 |
Manila |
14.08.2010 |
|
|
153. |
Talipbek Altzhanov |
1942 |
KAZ |
66,70 |
90,0 |
Ulan Bator |
03.05.2010 |
|
|
|
Jacques Beauverger |
1946 |
FRA |
67,10 |
90,0 |
Pilsen |
22.06.2010 |
|
|
|
Dimari Thomas |
1993 |
BVI |
66,70 |
90,0 |
Road Town |
08.10.2010 |
|
|
|
Bin Mongijal
Muhammad Yusuf |
1975 |
MAS |
64,90 |
90,0 |
Kahramanmaras |
18.10.2010 |
|
|
|
Hector Pava |
1990 |
VEN |
65,20 |
90,0 |
Kahramanmaras |
18.10.2010 |
|
|
158. |
Bruce Park |
1937 |
NZL |
66,60 |
87,5 |
Christchurch |
13.02.2010 |
|
|
|
Reinhard Gröll |
1935 |
GER |
66,10 |
87,5 |
Pilsen |
27.09.2010 |
|
|
160. |
Mizael Candido |
1950 |
BRA |
62,30 |
85,0 |
Montevideo |
07.08.2010 |
|
|
161. |
Nestor Anthony
Sevilla |
|
PHI |
67,00 |
82,5 |
Manila |
14.08.2010 |
|
|
|
Koroi Vu |
|
FIJ |
66,70 |
82,5 |
Apia |
10.12.2010 |
|
|
163. |
Karyl Le Van Ngon |
|
NCL |
66,50 |
80,0 |
Apia |
10.12.2010 |
|
|
164. |
Sergey Pustovalov |
1940 |
RUS |
67,10 |
70,0 |
Pilsen |
22.06.2010 |
|
|
165. |
Jameal Welcome |
1993 |
CAY |
65,90 |
62,5 |
Georgetown |
19.03.2010 |
|
|
166. |
Dagwa Sodnomsambuu |
|
MGL |
63,95 |
55,0 |
Ulan Bator |
03.05.2010 |
|
|
167. |
Pouria Mohammadparast |
|
IRI |
66,70 |
50,0 |
Ulan Bator |
03.05.2010 |
|
|
168. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|