atcoder#DIVERTA20192F. Diverta City

Diverta City

Score : 900900 points

Problem Statement

Diverta City is a new city consisting of NN towns numbered 1,2,...,N1, 2, ..., N.

The mayor Ringo is planning to connect every pair of two different towns with a bidirectional road. The length of each road is undecided.

A Hamiltonian path is a path that starts at one of the towns and visits each of the other towns exactly once. The reversal of a Hamiltonian path is considered the same as the original Hamiltonian path.

There are N!/2N! / 2 Hamiltonian paths. Ringo wants all these paths to have distinct total lengths (the sum of the lengths of the roads on a path), to make the city diverse.

Find one such set of the lengths of the roads, under the following conditions:

  • The length of each road must be a positive integer.
  • The maximum total length of a Hamiltonian path must be at most 101110^{11}.

Constraints

  • NN is a integer between 22 and 1010 (inclusive).

Input

Input is given from Standard Input in the following format:

NN

Output

Print a set of the lengths of the roads that meets the objective, in the following format:

w1,1 w1,2 w1,3 ... w1,Nw_{1, 1} \ w_{1, 2} \ w_{1, 3} \ ... \ w_{1, N}

w2,1 w2,2 w2,3 ... w2,Nw_{2, 1} \ w_{2, 2} \ w_{2, 3} \ ... \ w_{2, N}

:: :: ::

wN,1 wN,2 wN,3 ... wN,Nw_{N, 1} \ w_{N, 2} \ w_{N, 3} \ ... \ w_{N, N}

where wi,jw_{i, j} is the length of the road connecting Town ii and Town jj, which must satisfy the following conditions:

  • wi,i=0w_{i, i} = 0
  • wi,j=wj,i (ij)w_{i, j} = w_{j, i} \ (i \neq j)
  • 1wi,j1011 (ij)1 \leq w_{i, j} \leq 10^{11} \ (i \neq j)

If there are multiple sets of lengths of the roads that meet the objective, any of them will be accepted.

3
0 6 15
6 0 21
15 21 0

There are three Hamiltonian paths. The total lengths of these paths are as follows:

  • 1231 \to 2 \to 3: The total length is 6+21=276 + 21 = 27.
  • 1321 \to 3 \to 2: The total length is 15+21=3615 + 21 = 36.
  • 2132 \to 1 \to 3: The total length is 6+15=216 + 15 = 21.

They are distinct, so the objective is met.

4
0 111 157 193
111 0 224 239
157 224 0 258
193 239 258 0

There are 1212 Hamiltonian paths, with distinct total lengths.