Найти тему
Войти
эээ... уууу
18 подписчиков
Подписаться
путинг
16 сентября 2020
16 сен 2020
439 мин
путинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутин
2