F - Distribute Numbers 解説 /

実行時間制限: 2 sec / メモリ制限: 256 MB

配点 : 1000


1000 以上 2000 以下の好きな整数 N1 以上の好きな整数 K を選び、以下の問題を解いてください。


N 枚の紙があります。 これらの紙に以下の条件を満たすように K 個ずつ整数を書いてください。

  • 書く整数は 1 以上 N 以下でなければならない。
  • 同じ紙に書かれた K 個の整数は相異ならなければならない。
  • 1N の整数はいずれも K 枚ずつの紙に書かれていなければならない。
  • どの 2 枚の紙をとってきても、それらの紙に共通して書かれた整数がちょうど 1 つだけ存在する。




1 行目に NK を空白区切りで出力せよ。

2 行目からの N 行には、各紙に書く整数の情報を出力せよ。 このうち i 行目には i 枚目の紙に書く K 個の整数を空白区切りで出力せよ。


3 2
1 2
2 3
3 1

N3K2 の例です。

ただし、N の制約を満たしていないためこの出力は不正解となります。

Score : 1000 points

Problem Statement

Select any integer N between 1000 and 2000 (inclusive), and any integer K not less than 1, then solve the problem below.


We have N sheets of paper. Write K integers on each of them to satisfy the following conditions:

  • Each integer written must be between 1 and N (inclusive).
  • The K integers written on the same sheet must be all different.
  • Each of the integers between 1 and N must be written on exactly K sheets.
  • For any two sheet, there is exactly one integer that appears on both.


There is no input in this problem.


In the first line, print N and K separated by a space.

In the subsequent N lines, print your solution. The i-th of these lines must contain the K integers written on the i-th sheet, with spaces in between.

Sample Output

3 2
1 2
2 3
3 1

This is an example of a solution for N = 3 and K = 2.

Note that this output will be judged as incorrect, since the constraint on N is not satisfied.