Клавопедия:Отказ от ответственности — различия между версиями

Материал из Клавопедии
Перейти к: навигация, поиск
(Новая страница: « ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---...»)
 
 
(не показано 6 промежуточных версии 4 участников)
Строка 1: Строка 1:
 +
[[Категория:Служебные страницы проекта]]
 +
* '''Отказ от всех видов ответственности'''
 +
[[Клавопедия]] — публичный проект свободного доступа. Ни владельцы проекта, ни авторы статей не принимают претензии и не несут юридической ответственности за любые убытки, вред здоровью или даже смерть, вызванные использованием материалов из проекта. Вы используете материалы проекта на свой страх и риск.
  
----
+
Точность и полнота информации в статьях проекта не может быть гарантирована.
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
--------
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+
 
+
----
+

Текущая версия на 13:14, 21 июля 2019

  • Отказ от всех видов ответственности

Клавопедия — публичный проект свободного доступа. Ни владельцы проекта, ни авторы статей не принимают претензии и не несут юридической ответственности за любые убытки, вред здоровью или даже смерть, вызванные использованием материалов из проекта. Вы используете материалы проекта на свой страх и риск.

Точность и полнота информации в статьях проекта не может быть гарантирована.