Компания <<Flatland Dynamics>> разрабатывает прыгающего робота. Для испытания робота используется полигон, на котором организован круговой маршрут из n специальных платформ, пронумерованных от 1 до n. Расстояние между i-й и i+1-й платформой равно d_i, аналогично расстояние между n-й и 1-й платформой равно d_n.
Робот оснащен искусственным интеллектом и в процессе испытания учится прыгать все дальше. В любой момент времени робот характеризуется своей ловкостью --- целым числом a. Робот может перепрыгнуть с платформы i на платформу i+1, если a≥d_i. Аналогично, прыжок с n-й платформы на 1-ю возможен, если a≥d_n. При этом после каждого прыжка ловкость робота увеличивается на 1.
Разработчики робота выбирают одну из платформ в качестве стартовой. Они считают эксперимент удачным, если робот может, совершив n прыжков от текущей платформы к следующей, завершить полный круг и вернуться на ту же платформу. Разработчикам необходимо выяснить, для какого минимального значения начальной ловкости робота им удастся провести эксперимент и с какой платформы роботу следует начать прыжки.
На первой строке ввода находится число n (3≤n≤107).
Вторая строка содержит одно целое число f, которое описывает формат, в котором задан массив расстояний между платформами.
Если f=1, то на третьей строке находятся n целых чисел d_1,d_2,…,d_n (1≤d_i≤109).
Если f=2, то на третьей строке находится число m (2≤m≤min(n,105)) и три целых числа x, y и z (0≤x,y,z≤109). На четвертой строке находятся m целых чисел c_1,c_2,…,c_m (1≤c_i≤109). Значения d_i вычисляются по следующим формулам.
Если 1≤i≤m, то d_i=c_i.
Если m+1≤i≤n, то d_i=((x⋅d_i−2+y⋅d_i−1+z)mod109)+1.
Здесь mod означает остаток от целочисленного деления, в языках C++, Java и Python он обозначается символом <<\%>>.
Требуется вывести два целых числа: минимальную допустимую начальную ловкость a и номер стартовой платформы, на которую можно разместить робота, чтобы успешно провести эксперимент.
Если возможных стартовых платформ для минимальной начальной ловкости несколько, можно вывести любую из них.
Во втором примере массив расстояний между платформами равен \[1,2,3,4,5,18,45,112,273,662]. Значения от d_6 до d_10 вычисляются по формулам:
d_6=((1⋅d_4+2⋅d_5+3)mod109)+1=((1⋅4+2⋅5+3)mod109)+1=18
d_7=((1⋅d_5+2⋅d_6+3)mod109)+1=((1⋅5+2⋅18+3)mod109)+1=45
d_8=((1⋅d_6+2⋅d_7+3)mod109)+1=((1⋅18+2⋅45+3)mod109)+1=112
d_9=((1⋅d_7+2⋅d_8+3)mod109)+1=((1⋅45+2⋅112+3)mod109)+1=273
d_10=((1⋅d_8+2⋅d_9+3)mod109)+1=((1⋅112+2⋅273+3)mod109)+1=662