Софтвиль
В деревне Софтвиль разработка программного обеспечения происходит по особым правилам: в первый день программист пишет несколько строк кода (как минимум одну), а каждый следующий день увеличивает количество написанных строк на одну по сравнению с предыдущим днем.
Когда жителю Софтвиля исполняется 10 лет, он должен пройти инициацию, написав с нуля сложную программу. Программа одинакова для всех и состоит ровно из N строк. У каждого жителя уходит разное количество дней на выполнение этой задачи, но правило остается неизменным: каждый день программист пишет на одну строку больше, чем в предыдущий.
Вам предоставлены данные о том, сколько дней понадобилось жителям Софтвиля для написания своей первой программы. Ваша задача — определить минимально возможное значение N, то есть количество строк программы.
Входные данные
Первая строка входного файла содержит число m (1 ≤ m ≤ 1000) — количество жителей Софтвиля. Вторая строка содержит m чисел, каждое из которых обозначает количество дней, затраченных каждым жителем на написание первой программы. Все числа во второй строке — положительные целые числа, меньшие 2^63.
Выходные данные
Выведите единственное число — минимально возможное значение для N. Если входные данные не согласуются ни при каком значении N, выведите 0. В противном случае гарантируется, что минимально возможное значение для N меньше 2^63.