1997 - グリッドの復元

時間制限 1 秒 / メモリ制限 64 MB / 得点 9 / Writer ei2331 / x 1 / 統計 /


TLE
1sec
MLE
64MB
得点
9

問題

あなたは 3x3 のグリッドの情報の一部を与えられます。
グリッドの各セルには非負整数が入ります。 与えられないセルは'?'で示されます。
あなたの仕事は、与えられた情報から残りの'?'のセルを埋めることです。
'?'を計算結果で埋めた 3x3 の表を出力してください。
ただし、与えられた情報からだけではすべての'?'の値を一意に決定できない場合があります。一意に定まらないセルがある場合は、そのセルを-1で埋めて出力してください。
必ず答えが存在するものとします。

a b x
c d y
u v z
このグリッドには以下のルールがあります。
  • 各行について、左の2つのセルの合計が右端のセルの値と一致します。
    (a + b = x, c + d = y)
  • 各列について、上の2つのセルの合計が下端のセルの値と一致します。
    (a + c = u, b + d = v)
  • 下端と右端についても、合計の関係が成り立ちます。
    (u + v = z, x + y = z)
  • (全体の合計 a + b + c + d = z も成り立ちます。)

    入力

    入力は以下の形式で標準入力から与えられる。

    $a$ $b$ $x$
    $c$ $d$ $y$
    $u$ $v$ $z$
    
  • この値はそれぞれ表のセル a, b, ..., z に対応します。
  • 各入力は、整数 (1 以上 255 以下) または'?'です。
  • '?'はそのセルの値が不明であることを示します。
  • 出力

    '?'を計算結果で埋めた 3x3 の表を出力してください。
    一意に定まらないセルがある場合は、そのセルを-1で埋めて出力してください。
    出力の最後に改行を入れること。

    制約

    与えられる整数は 1 以上 255 以下。

    各セルには整数か'?'が与えられる。

    入出力例

    入力例1

    1 5 ?
    10 ? ?
    ? 7 ?

    出力例1

    1 5 6
    10 2 12
    11 7 18 
    

    入力例2

    2 3 5
    4 ? ?
    ? ? ?

    出力例2

    2 3 5
    4 -1 -1
    6 -1 -1