配点 : 200 点
問題文
1,…,N と番号付けられた N 個の都市と、都市間を結ぶ M 本の道路があります。
i(1≤i≤M) 番目の道路は都市 Ai と都市 Bi を結んでいます。
以下の指示に従い、N 行にわたって出力してください。
- 都市 i(1≤i≤N) と道路で直接結ばれた都市が di 個あるとし、それらを昇順に都市 ai,1,…,ai,di とおく。
- i(1≤i≤N) 行目には、di+1 個の整数 di,ai,1,…,ai,di を、この順番で空白区切りで出力せよ。
制約
- 2≤N≤105
- 1≤M≤105
- 1≤Ai<Bi≤N(1≤i≤M)
- (i=j) ならば (Ai,Bi)=(Aj,Bj)
- 入力される値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N M
A1 B1
⋮
AM BM
出力
問題文の指示に従い、N 行にわたって出力せよ。
6 6
3 6
1 3
5 6
2 5
1 2
1 6
3 2 3 6
2 1 5
2 1 6
0
2 2 6
3 1 3 5
都市 1 と道路で直接結ばれているのは都市 2,3,6 です。よって、d1=3,a1,1=2,a1,2=3,a1,3=6 であるので、1 行目には 3,2,3,6 をこの順番で空白区切りで出力します。
ai,1,…,ai,di は昇順に並んでいなければならないことに注意してください。例えば、1 行目に 3,3,2,6 をこの順番で出力した場合、不正解となります。
5 10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
4 2 3 4 5
4 1 3 4 5
4 1 2 4 5
4 1 2 3 5
4 1 2 3 4