Sunteţi un participant la Olimpiada Naţională de Informatică. În programul olimpiadei intră şi câteva activităţi de divertisment. Una dintre ele este vizitarea unui muzeu. Acesta are o structură de matrice dreptunghiulară cu linii si coloane; din orice cameră se poate ajunge în camerele vecine pe direcţiile nord, est, sud şi vest (dacă aceste camere există). Pentru poziţia () deplasarea spre nord presupune trecerea în poziţia (), spre est în (), spre sud în () şi spre vest în ().
Acest muzeu are câteva reguli speciale. Fiecare cameră este marcată cu un număr între şi inclusiv. Mai multe camere pot fi marcate cu acelaşi număr. Camerele marcate cu numărul pot fi vizitate gratuit. Într-o cameră marcată cu numărul se poate intra gratuit, dar nu se poate ieşi din ea decât dacă arătaţi supraveghetorului un bilet cu numărul . Din fericire, orice cameră cu numărul oferă spre vânzare un bilet cu numărul ; o dată cumpărat acest bilet, el este valabil în toate camerele marcate cu numărul respectiv. Biletele pot avea preţuri diferite, dar un bilet cu numărul va avea acelaşi preţ în toate camerele în care este oferit spre vânzare.
Dumneavoastră intraţi în muzeu prin colţul de Nord-Vest (poziţia () a matricei) şi doriţi să ajungeţi la ieşirea situată în colţul de Sud-Est (poziţia () a matricei). O dată ajuns acolo primiţi un bilet gratuit care vă permite să vizitaţi tot muzeul. Poziţiile () şi () sunt marcate cu numărul .
Cerinţă
Cunoscându-se structura muzeului, determinaţi o strategie de parcurgere a camerelor, astfel încât să ajungeţi în camera () plătind cât mai puţin. Dacă există mai multe variante, alegeţi una în care este parcurs un număr minim de camere (pentru a câştiga timp şi pentru a avea mai mult timp pentru vizitarea integrală a muzeului).
Date de intrare
Prima linie a fişierului de intrare muzeu.in
conţine două numere întregi şi , separate printr-un spaţiu, numărul de linii, respectiv de coloane, al matricei care reprezintă muzeul. Următoarele linii conţin structura muzeului; fiecare conţine numere întregi între şi inclusiv, separate prin spaţii. Linia conţine numere întregi între şi inclusiv, reprezentând costurile biletelor , , , , în această ordine.
Date de ieșire
În fişierul muzeu.out
veţi afişa:
- pe prima linie suma minimă necesară pentru a ajunge din () în ();
- pe a doua linie numărul minim de mutări efectuate dintr-o cameră într-o cameră vecină, pentru a ajunge din () în ();
- pe a treia linie caractere din multimea , , , reprezentând deplasări spre Nord, Est, Sud sau Vest .
Restricții și precizări
- ;
Exemplu
muzeu.in
5 6
0 0 0 0 0 2
0 1 1 1 4 3
0 1 0 0 0 0
0 1 5 1 0 0
0 0 0 1 0 0
1000 5 7 100 12 1000 1000 1000 1000 1000
muzeu.out
12
9
EEEEESSSS