AT_arc214_a [ARC214A] Same Sum Grid Path
Description
$ N \times N $ のマス目があります。上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ で表します。
$ N \times N $ 個の文字 $ S_{1,1}, \dots , S_{N,N} $ が与えられます。各文字は数字(`0`~`9`)または `?` です。`?` をそれぞれ数字に置き換えることで以下の条件を満たせるか判定し、可能ならばそのような置き換え方を $ 1 $ つ出力して下さい。
> $ 1 \le i,j \le N $ についてマス $ (i,j) $ に $ S_{i,j} $ を整数として書き込む。
> 右または下に隣接するマスへの移動のみを繰り返してマス $ (1,1) $ からマス $ (N,N) $ まで到達する経路について、経路上に含まれるマス(始点・終点を含む)に書かれた整数の総和を経路の**スコア**とする。
> このとき、 $ \binom{2N-2}{N-1} $ 通りある経路について、スコアは全て等しい。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S_{1,1} $ $ S_{1,2} $ $ \ldots $ $ S_{1,N} $ $ S_{2,1} $ $ S_{2,2} $ $ \ldots $ $ S_{2,N} $ $ \vdots $ $ S_{N,1} $ $ S_{N,2} $ $ \ldots $ $ S_{N,N} $
Output Format
条件を満たす置き換えが不可能な場合、`-1` を出力せよ。可能な場合、置き換え後の $ S_{1,1}, \dots , S_{N,N} $ を以下の形式で出力せよ。
> $ S_{1,1} $ $ S_{1,2} $ $ \ldots $ $ S_{1,N} $ $ S_{2,1} $ $ S_{2,2} $ $ \ldots $ $ S_{2,N} $ $ \vdots $ $ S_{N,1} $ $ S_{N,2} $ $ \ldots $ $ S_{N,N} $
解が複数存在する場合は、どれを出力しても正解とみなされる。
Explanation/Hint
### Sample Explanation 1
全ての経路のスコアが $ 3 $ になるように `?` を数字に置き換えることが出来ます。
### Sample Explanation 2
どのような置き換え方をしても条件を満たすことが出来ません。
### Constraints
- $ 2 \le N \le 100 $
- $ S_{i,j} $ は数字(`0`~`9`)または `?`