配点 : 600 点
問題文
ブロックが三角形状に N 段並んでいます。上から i 段目には i 個のブロックが並んでいます。
6 以下の非負整数からなる列 A=(A1,A2,...,AN) を連長圧縮した列 P=((a1,c1),(a2,c2),...,(aM,cM)) が与えられます。
- 例えば A=(2,2,2,5,5,1) のとき P=((2,3),(5,2),(1,1)) になります。
上から i 段目で左から j 番目のブロックに書きこむ数を Bi,j として、次の条件を満たすようにすべてのブロックに数を書きこみます。
- すべての 1≤i≤N を満たす整数 i について BN,i=Ai
- すべての 1≤j≤i≤N−1 を満たす整数の組 i,j について Bi,j=(Bi+1,j+Bi+1,j+1)mod7
上から K 段目のブロックに書かれた数を列挙してください。
連長圧縮とは?
数列 A を以下の手続きによって整数の組からなる列に変換することを連長圧縮と呼びます。
- A を異なる要素が隣り合っている部分で分割する。
- 分割した各数列 B に対して、B を 「B を構成する数」 と 「B の長さ」 からなる整数の組に置き換える。
- 置き換えた整数の組を元の順番を保ったまま並べて列にする。
制約
- 1≤N≤109
- 1≤M≤min(N,200)
- 1≤K≤min(N,5×105)
- 0≤ai≤6
- 1≤ci≤N
- ∑i=1Mci=N
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N M K
a1 c1
a2 c2
⋮
aM cM
出力
答えを以下の形式で出力せよ。なお、制約下において答えは一意に定まることが保証される。
BK,1 BK,2 … BK,K
6 3 4
2 3
5 2
1 1
1 4 3 2
A=(2,2,2,5,5,1) です。また、ブロックに書かれる数は次のようになります。
3
5 5
5 0 5
1 4 3 2
4 4 0 3 6
2 2 2 5 5 1
1 1 1
6 1
6
111111111 9 9
0 1
1 10
2 100
3 1000
4 10000
5 100000
6 1000000
0 10000000
1 100000000
1 0 4 2 5 5 5 6 3