Alex vrea să își usuce rufele pe balcon. El a spălat K
tricouri și o șosetă. Uscătorul lui Alex are N
niveluri, iar fiecare nivel are M
locuri unde poate atârna câte un singur obiect de îmbrăcăminte. Alex usucă hainele într-un mod specific: începe prin a pune șoseta pe nivelul A
, locul B
, iar apoi aduce coșul de rufe cu cele K
tricouri și le așază pe rând, mereu alegând o poziție liberă cât mai depărtată de locul unde a pus șoseta. Metrica pe care o găsește ca fiind cea mai potrivită când vine vorba de uscatul rufelor este distanța Manhattan, astfel încât distanța de la nivelul r1
, locul c1
la nivelul r2
, locul c2
are valoarea expresiei |r1 – r2| + |c1 - c2|
.
Cerinţe
Aflați distanța dintre poziția unde a atârnat ultimul tricou și poziția unde se usucă șoseta.
Date de intrare
Pe prima linie a fișierului de intrare rufe.in
se vor afla 5
numere întregi N, M, A, B,
și K
, cu semnificația din enunț, separate prin câte un spațiu.
Date de ieşire
În fișierul de ieșire rufe.out
se va afla o singură linie care să conțină valoarea cerută.
Restricţii și precizări
1 ≤ A ≤ N
1 ≤ B ≤ M
1 ≤ K ≤ N * M – 1
- Pentru teste în valoare de
13
puncte se garantează că . - Pentru alte teste în valoare de
12
puncte se garantează că . - Pentru alte teste în valoare de
12
puncte se garantează că . - Pentru alte teste în valoare de
18
puncte se garantează că . - Pentru alte teste în valoare de
7
puncte se garantează căA = B = 1
.
Exemple
rufe.in
5 6 3 3 4
rufe.out
4
rufe.in
3476 53410 438 9217 1000000
rufe.out
45818
rufe.in
1000000000 1000000000 1 1 7
rufe.out
1999999995
rufe.in
654321 123456 5454 1212 10000000000
rufe.out
628395
Explicații
Pentru primul test:
Uscătorul are 5
niveluri cu câte 6
locuri pe nivel. Șoseta se pune pe nivelul 3
, locul 3
. Primele 2
tricouri vor fi atârnate la distanță 5
în colțurile uscătorului. Următoarele 2
tricouri pot fi puse numai la distanță 4
.
Pentru ultimul test:
În acest caz Alex usucă tricouri. Acordați atenție citirii unei astfel de valori din fișier.