Добавить в корзинуПозвонить
Найти в Дзене
эээ... уууу

путинг

путинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутин

путинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутин