Объединение Готэм-сити

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Давным давно, когда еще не было Бэтмена, Готэм-сити был очень дружным городом.

Но настали трудные времена. Несмотря на то, что дружба и единение всегда были и будут на вес золота, Готэм-сити распался на nn независимых друг от друга частей.

Бэтмен сразу понял, что такое состояние дел будет лишь на руку абсолютно всем злодеям, поэтому он решил попробовать воссоединить Готэм-сити.

Бэтмен хочет проложить mm двунаправленных дорог между частями Готэм-сити. Для каждой части известно, что суммарно из нее не может выходить более deg_ideg\_i дорог.

Заметьте, что Бэтмен может проложить более одной дороги между двумя частями Готэм-сити, но не может провести дорогу из части города в себя же!

Уровнем единения Готэм-сити Бэтмен считает как максимальное количество частей Готэма, таких что между каждыми двумя из них есть хотя бы одна дорога.

Помогите Бэтмену проложить дороги так, чтобы уровень единения Готэм-сити был максимально возможным!

입력

В первой строке входных данных содержатся два целых числа nn и mm --- количество независимых частей и количество дорог, которые нужно проложить (1n105)(1 \leq n \leq 10^5), (0m105)(0 \leq m \leq 10^5).

Во второй строке содержатся nn целых чисел deg_ideg\_i (0deg_i105)(0 \leq deg\_i \leq 10^5), где ii-ое число обозначает максимальное количество дорог, которое можно провести из независимой части с номером ii.

출력

В единственной строке выходного файла выведите единственное число --- максимально возможный уровень единения.

Если не существует способа проложить mm дорог так, чтобы не нарушать условия по максимальному число исходящих дорог ни для какой части города --- выведите -1.