##### Canadian Computing Olympiad: 2018 Day 1, Problem 2

Troy made the following problem (titled WA) for a programming contest:

There is a game with levels numbered from to . There are two characters, both are initially at level . For , it costs coins to move a character from level to level . It is not allowed to move a character from level to level if . To win the game, every level (except level ) must be visited by exactly one character. What is the minimum number of coins needed to win?

JP is a contestant and submitted the following Python solution.

```
def Solve(N, A):
# A[i][j] is cost of moving from level i to level j
# N is the number of levels
x, y, sx, sy = 1, 1, 0, 0 # Initialize x and y to 1, sx and sy to 0
for i in range(2, N + 1): # loop from 2 to N
if sx + A[x][i] < sy + A[y][i]:
sx += A[x][i]
x = i
else:
sy += A[y][i]
y = i
return sx + sy
```

Troy is certain that JP's solution is wrong. Suppose for an input to WA, JP's solution returns but the minimum number of coins needed is . To show how wrong JP's solution is, help Troy find an input and such that is maximized.

#### Input Specification

There is no input.

#### Output Specification

Print an input to WA in the following format:

On the first line, print one integer .

Then print lines; the -th line should contain integers .

If your output is not in the correct format, it will get an *incorrect* verdict on the sample test in the grader and score 0 points.

Otherwise, suppose that for your input, JP's solution returns but the minimum number of coins needed is . Then you will receive points where is the smallest integer that is not less than .

#### Sample Output

```
5
1 2 3 4
10 9 8
7 6
5
```

#### Explanation for Sample Output

The optimal way to win the game is for one character to visit level 2 and the other character to visit levels 3, 4 and 5. This costs coins. JP's solution returns 18. Thus , so this output will receive point.

## Comments