Прыгающий робот

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

문제

Компания <<Flatland Dynamics>> разрабатывает прыгающего робота. Для испытания робота используется полигон, на котором организован круговой маршрут из nn специальных платформ, пронумерованных от 11 до nn. Расстояние между ii-й и i+1i+1-й платформой равно d_id\_i, аналогично расстояние между nn-й и 11-й платформой равно d_nd\_n.

Робот оснащен искусственным интеллектом и в процессе испытания учится прыгать все дальше. В любой момент времени робот характеризуется своей ловкостью --- целым числом aa. Робот может перепрыгнуть с платформы ii на платформу i+1i+1, если ad_ia \ge d\_i. Аналогично, прыжок с nn-й платформы на 11-ю возможен, если ad_na \ge d\_n. При этом после каждого прыжка ловкость робота увеличивается на 11.

Разработчики робота выбирают одну из платформ в качестве стартовой. Они считают эксперимент удачным, если робот может, совершив nn прыжков от текущей платформы к следующей, завершить полный круг и вернуться на ту же платформу. Разработчикам необходимо выяснить, для какого минимального значения начальной ловкости робота им удастся провести эксперимент и с какой платформы роботу следует начать прыжки.

입력

На первой строке ввода находится число nn (3n1073 \le n \le 10^7).

Вторая строка содержит одно целое число ff, которое описывает формат, в котором задан массив расстояний между платформами.

Если f=1f = 1, то на третьей строке находятся nn целых чисел d_1,d_2,,d_nd\_1, d\_2, \ldots, d\_n (1d_i1091 \le d\_i \le 10^{9}).

Если f=2f = 2, то на третьей строке находится число mm (2mmin(n,105))\left(2 \le m \le \min(n, 10^5)\right) и три целых числа xx, yy и zz (0x,y,z1090 \le x, y, z \le 10^9). На четвертой строке находятся mm целых чисел c_1,c_2,,c_mc\_1, c\_2, \ldots, c\_m (1c_i1091 \le c\_i \le 10^9). Значения d_id\_i вычисляются по следующим формулам. 

Если 1im1 \le i \le m, то d_i=c_id\_i = c\_i

Если m+1inm + 1 \le i \le n, то d_i=((xd_i2+yd_i1+z)mod109)+1d\_i = \left((x\cdot d\_{i-2} + y\cdot d\_{i-1} + z)\bmod 10^9\right) + 1

Здесь mod\bmod означает остаток от целочисленного деления, в языках C++, Java и Python он обозначается символом <<\%>>.

출력

Требуется вывести два целых числа: минимальную допустимую начальную ловкость aa и номер стартовой платформы, на которую можно разместить робота, чтобы успешно провести эксперимент.

Если возможных стартовых платформ для минимальной начальной ловкости несколько, можно вывести любую из них.

힌트

Во втором примере массив расстояний между платформами равен \[1,2,3,4,5,18,45,112,273,662]\[1, 2, 3, 4, 5, 18, 45, 112, 273, 662]. Значения от d_6d\_6 до d_10d\_{10} вычисляются по формулам:

d_6=((1d_4+2d_5+3)mod109)+1=((14+25+3)mod109)+1=18d\_6 = \left((1\cdot d\_4+2\cdot d\_5 + 3) \bmod 10^9\right)+1 = \left((1\cdot 4+2\cdot 5+3)\bmod 10^9\right)+1=18

d_7=((1d_5+2d_6+3)mod109)+1=((15+218+3)mod109)+1=45d\_7 = \left((1\cdot d\_5+2\cdot d\_6 + 3) \bmod 10^9\right)+1 = \left((1\cdot 5+2\cdot 18+3)\bmod 10^9\right)+1=45

d_8=((1d_6+2d_7+3)mod109)+1=((118+245+3)mod109)+1=112d\_8 = \left((1\cdot d\_6+2\cdot d\_7 + 3) \bmod 10^9\right)+1 = \left((1\cdot 18+2\cdot 45+3)\bmod 10^9\right)+1=112

d_9=((1d_7+2d_8+3)mod109)+1=((145+2112+3)mod109)+1=273d\_9 = \left((1\cdot d\_7+2\cdot d\_8 + 3) \bmod 10^9\right)+1 = \left((1\cdot 45+2\cdot 112+3)\bmod 10^9\right)+1=273

d_10=((1d_8+2d_9+3)mod109)+1=((1112+2273+3)mod109)+1=662d\_{10} = \left((1\cdot d\_8+2\cdot d\_9 + 3) \bmod 10^9\right)+1 = \left((1\cdot 112+2\cdot 273+3)\bmod 10^9\right)+1=662