GGG

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

문제

GGG 표기법은 등차수열을 포함한 특수한 형태의 수열을 간단히 표기하는 방법 중 하나다. GGG 표기법에 대한 정의는 다음과 같다.

  • GGG<aa>는 모든 항의 값이 aa인 수열을 의미한다.
  • GGG<aa, bb>는 초항이 aa, 공차가 bb인 등차수열을 의미한다.
  • GGG<a_0a\_0, a_1a\_1, \cdots, a_ma\_m>은 초항이 a_0a\_0, GGG<a_1a\_1\cdots, a_ma\_m>을 계차수열로 가지는 수열을 의미한다.

주어진 NN차 다항식 f(x)=f_0+f_1x1++f_N xNf(x) = f\_0 + f\_1 x^1 + \cdots + f\_N x^N에 대해서 수열 a_n\\{ a\_n \\}을 음이 아닌 정수 ii에 대해서 a_i=f(i)a\_i = f(i)로 정의할 때, 수열 a_n\\{ a\_n \\}을 간단하게 표기하기 위해서 GGG 표기법을 사용할 것이다. 예를 들어 f(x)=x2+1f(x) = x^2 + 1일 때, 수열 a_n\\{ a\_n \\}은 초항이 11, 계차가 2i + 12i + 1인 수열이며, 그에 따라서 GGG 표기법으로 GGG<11, 11, 22>로 표기할 수 있다.

주어진 NN차 다항식 f(x)f(x)에 대한 수열 a_n\\{ a\_n \\}에 대한 GGG 표기법을 구해보자.

입력

첫 번째 줄에 음이 아닌 정수 NN이 주어진다.

두 번째 줄에 f_0f\_0, \cdotsf_Nf\_N을 나타내는 정수 N+1N+1개가 공백으로 구분되어 주어진다. (0f_i<109+70 \le f\_i < 10^9 + 7, 0iN0 \le i \le N)

N1N \ge 1일 때, f_N0f\_N \ne 0임을 보장한다.

출력

다항식 f(x)f(x)에 대한 수열 a_n\\{ a\_n \\}을 GGG 표기법으로 출력한다. 단, 각 입력값이 매우 커질 수 있으니 입력값을 109+710^9 + 7로 나눈 나머지로 출력하시오. 답이 여러 개인 경우, GGG 표기법의 입력값의 개수가 가장 적은 것을 출력한다.

힌트

이 문제는 Python3를 이용하여 풀 수 있음을 보장할 수 없다. Python을 사용한다면, Pypy3가 Python3와 같은 문법을 가지면서 일반적으로 더 빠르게 동작하기에 Pypy3로 제출하는 것을 권장한다.