Найти тему
эээ... уууу

путинг

путинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутинпутин