Considerem un tauler d’escacs amb n files (indexades 0, 1, …, n−1 de dalt a baix) i m columnes (indexades 0, 1, …, m−1 d’esquerra a dreta). Cada posició del tauler queda determinada per un parell (r, c), on r és l’índex de la fila i c l’índex de la columna.
Definim el següent joc. Es comença amb un cavall (vegeu la figura per recordar com es mou) a la cantonada superior esquerra. Donada una seqüència de posicions objectiu del tauler p1, p2, ..., pk, es tracta de moure el cavall fins a la posició objectiu p1 fent salts de cavall; d’allà hem d’arribar a la posició objectiu p2, fent salts de cavall; i així successivament fins arribar a la darrera posició objectiu pk. Per cada objectiu que assolim, aconseguim W punts. Però per cada salt de cavall que fem, perdem L punts. La partida acaba quan no es pot arribar a la posició objectiu següent, o quan decidim no fer més moviments. Quin és el nombre màxim de punts que es poden aconseguir si juguem de forma òptima?
Entrada
L’entrada conté diferents casos, només amb nombres enters. Cada cas comença amb n i m, seguits de W i L. Finalment, tenim k i les k posicions objectiu representades per parells d’enters ri ci separats per espais en blanc, on 0 ≤ ri < n i 0 ≤ ci < m. Es compleix que 2 ≤ n, m ≤ 5000, que n · m ≤ 104, que 1 ≤ W, L ≤ 100 i que 1 ≤ k ≤ min(n · m, 1000).
Sortida
Per a cada cas, cal escriure en una línia el nombre màxim de punts que es poden aconseguir si juguem de forma òptima.
Input
3 3 10 1 1 2 1 3 3 10 1 2 0 2 1 0 3 3 10 1 4 0 0 2 1 0 2 0 2 3 3 10 1 1 1 1 3 3 10 1 2 2 1 1 1 2 13 7 3 3 0 4 1 10 0 12 8 8 25 3 4 5 6 7 6 3 4 2 0
Output
9 17 38 0 9 3 64