Enunț
După cum probabil ştiţi, contabilii îşi ţin datele sub formă de tabele şi calculează tot felul de sume pe linii şi pe coloane. Contabilul nostru Atnoc şi-a organizat valorile sub forma unui tabel cu n
linii (numerotate de la 1
la n
) şi m
coloane (numerotate de la 1
la m
). Elementele de pe ultima coloană sunt sumele elementelor de pe linii (mai exact, elementul de pe linia i
şi coloana m
este egal cu suma elementelor de pe linia i
aflate pe coloanele 1
, 2
, …, m-1
), iar elementele de pe ultima linie sunt sumele elementelor de pe coloane (mai exact, elementul de pe linia n
şi coloana i
este egal cu suma elementelor de pe coloana i
aflate pe liniile 1
, 2
, …, n-1
). Un exemplu de astfel de tabel este dat în figura următoare.
2 |
5 |
7 |
14 |
11 |
6 |
6 |
23 |
13 |
11 |
13 |
37 |
Din păcate, Atnoc a stropit cu apă minunatul său tabel şi astfel o parte dintre numerele din tabel au devenit ilizibile.
Cerința
Scrieţi un program care să reconstituie toate datele din tabel.
Date de intrare
Pe prima linie a fişierului text de intrare tabel.in
se află două numere naturale n
şi m
, separate printr-un spaţiu, ce reprezintă numărul de linii şi respectiv numărul de coloane ale tabelului. Pe cea de a doua linie a fişierului de intrare se află un număr natural p
care reprezintă numărul de valori nedeteriorate din tabel. Pe fiecare dintre următoarele p
linii se află câte trei numere naturale, separate prin câte un spaţiu l c v
, unde l
este numărul liniei, c
este numărul coloanei şi v
este valoarea elementului de pe linia l
şi coloana c
din tabel.
Date de ieșire
În fişierul text de ieşire tabel.out
se va scrie tabelul reconstituit, pe n
linii câte m
valori separate prin câte un spaţiu.
Restricții și precizări
1<n, m<51
- Valorile din tabel sunt numere naturale
< 32000
- În toate testele datele din tabel pot fi reconstituite.
Exemplu:
tabel.in
3 4 10 1 1 2 1 2 5 1 3 7 1 4 14 2 2 6 2 4 23 3 1 13 3 2 11 3 3 13 3 4 37
tabel.out
2 5 7 14 11 6 6 23 13 11 13 37