Професор Абакус нещодавно розробив новий обчислювальний двигун для створення числових таблиць. Цей двигун призначений для обчислення значень поліноміальної функції однієї змінної в кількох точках одночасно. Наприклад, для поліноміальної функції f(x)=x^2+2x+1 очікуваний результат обчислень може бути: 1 (= f(0)), 4 (= f(1)), 9 (= f(2)), 16 (= f(3)), і 25 (= f(4)).
На жаль, двигун має несправність, через яку одне з обчислених значень завжди є неправильним. Наприклад, для тієї ж поліноміальної функції він може видати , , , , і замість , , , , і .
Вам доручено допомогти професору виявити несправні компоненти. Як перший крок, ви повинні написати програму, яка аналізує результати обчислень двигуна і знаходить неправильне значення.
Вхідні дані складаються з кількох наборів, кожен з яких представляє результат обчислення у наступному форматі.
v_0
v_1
v_{d+2}
Тут у першому рядку - це додатне ціле число, яке вказує на степінь полінома, тобто найвищий показник змінної. Наприклад, степінь 4x^5+3x+0.5 дорівнює п'яти, а 2.4x+3.8 дорівнює одиниці. не перевищує п'яти.
Наступні d+3 рядки містять результати обчислень , , ..., і f(d+2) у цьому порядку, де - це поліноміальна функція. Кожен з рядків містить десятковий дріб у межах від до , виключно.
Ви можете припустити, що неправильне значення, яке є рівно одним з , , ..., і f(d+2), має помилку, що перевищує . Оскільки округлювальні помилки неминучі, інші значення також можуть мати помилки, але вони невеликі і ніколи не перевищують 10^{-6}.
Кінець введення позначається рядком, що містить нуль.
Для кожного набору даних виведіть в рядку, коли v_i є неправильним.
Приклад 1