Найти в Дзене
эээ... уууу

путинг

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

путинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутин