Codeforces Round 453 (Div. 2)
D
GCD of Polynomials
Codeforces
未评级
原题
← CE →
翻译中…

Suppose you have two polynomials image and image. Then polynomial image can be uniquely represented in the following way:

翻译中…

image

翻译中…

This can be done using long division. Here, image denotes the degree of polynomial $*P*(*x*)$. image is called the remainder of division of polynomial image by polynomial image, it is also denoted as image.

翻译中…

Since there is a way to divide polynomials with remainder, we can define Euclid's algorithm of finding the greatest common divisor of two polynomials. The algorithm takes two polynomials image. If the polynomial image is zero, the result is image, otherwise the result is the value the algorithm returns for pair image. On each step the degree of the second argument decreases, so the algorithm works in finite number of steps. But how large that number could be? You are to answer this question.

翻译中…

You are given an integer $*n*$. You have to build two polynomials with degrees not greater than $*n*$, such that their coefficients are integers not exceeding $1$ by their absolute value, the leading coefficients (ones with the greatest power of $*x*$) are equal to one, and the described Euclid's algorithm performs exactly $*n*$ steps finding their greatest common divisor. Moreover, the degree of the first polynomial should be greater than the degree of the second. By a step of the algorithm we mean the transition from pair image to pair image.

翻译中…

Input

翻译中…

You are given a single integer $*n*$ ($1 ≤ *n* ≤ 150$) — the number of steps of the algorithm you need to reach.

翻译中…

Output

翻译中…

Print two polynomials in the following format.

翻译中…

In the first line print a single integer $*m*$ ($0 ≤ *m* ≤ *n*$) — the degree of the polynomial.

翻译中…

In the second line print $*m* + 1$ integers between $- 1$ and $1$ — the coefficients of the polynomial, from constant to leading.

翻译中…

The degree of the first polynomial should be greater than the degree of the second polynomial, the leading coefficients should be equal to $1$. Euclid's algorithm should perform exactly $*n*$ steps when called using these polynomials.

翻译中…

If there is no answer for the given $*n*$, print -1.

翻译中…

If there are multiple answer, print any of them.

翻译中…

Note

翻译中…

In the second example you can print polynomials $*x*^{2} - 1$ and $*x*$. The sequence of transitions is

翻译中…

$(*x*^{2} - 1, *x*) → (*x*, - 1) → ( - 1, 0).$

翻译中…

There are two steps in it.

翻译中…

样例

Input #1
1
Output #1
1
0 1
0
1
InputCopy OutputCopy
Input #2
2
Output #2
2
-1 0 1
1
0 1
InputCopy OutputCopy
题目信息
题号
902D
时间限制
2 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。