#include <bits/stdc++.h>
using namespace std;
struct unit {
  int l, r, w, d;
};
struct unit b[1000010];
struct node {
  int tag, mi;
};
struct node t[8000010];
int n, x, y, z, vx, vy, tot, inf = 1e9 + 7;
int a[1010][1010], sa[2000010];
long long ans;
bool cmp(unit A, unit B) { return A.d < B.d; }
void change(int p, int l, int r) {
  if (l > y || r < x) return;
  if (l >= x && r <= y) {
    t[p].tag = max(t[p].tag, z);
    t[p].mi = max(t[p].mi, t[p].tag);
    return;
  }
  change(p * 2, l, (l + r) / 2);
  change(p * 2 + 1, (l + r) / 2 + 1, r);
  t[p].mi = max(t[p].tag, min(t[p * 2].mi, t[p * 2 + 1].mi));
}
int query(int p, int l, int r) {
  if (l > y || r < x) return inf;
  if (l >= x && r <= y) return t[p].mi;
  return max(t[p].tag, min(query(p * 2, l, (l + r) / 2),
                           query(p * 2 + 1, (l + r) / 2 + 1, r)));
}
int main() {
  int i, j, k = 0, i1, j1;
  scanf("%d%d%d", &n, &vx, &vy);
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++) scanf("%d", &a[i][j]);
  if (vx < 0) {
    for (j = 1; j <= n; j++)
      for (i = 1; i <= n / 2; i++) swap(a[i][j], a[n + 1 - i][j]);
    vx = -vx;
  }
  if (vy < 0) {
    for (i = 1; i <= n; i++)
      for (j = 1; j <= n / 2; j++) swap(a[i][j], a[i][n + 1 - j]);
    vy = -vy;
  }
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++) {
      ++k;
      b[k].d = inf;
      b[k].l = inf;
      b[k].r = -inf;
      for (i1 = i - 1; i1 <= i; i1++)
        for (j1 = j - 1; j1 <= j; j1++) {
          b[k].d = min(b[k].d, i1 * vx + j1 * vy);
          b[k].l = min(b[k].l, i1 * vy - vx * j1);
          b[k].r = max(b[k].r, i1 * vy - vx * j1);
        }
      sa[++tot] = b[k].l;
      sa[++tot] = b[k].r;
      b[k].w = a[i][j];
    }
  sort(b + 1, b + n * n + 1, cmp);
  sort(sa + 1, sa + tot + 1);
  for (i = 1; i <= n * n; i++) {
    x = lower_bound(sa + 1, sa + tot + 1, b[i].l) - sa + 1;
    y = lower_bound(sa + 1, sa + tot + 1, b[i].r) - sa;
    z = query(1, 1, tot);
    if (z < b[i].w) {
      ans += b[i].w - z;
      z = b[i].w;
      change(1, 1, tot);
    }
  }
  printf("%I64d\n", ans);
  return 0;
}
