#include <bits/stdc++.h>
int i, j, m, n, s, t, x, y;
int a[1000][1000], b[1000][1000], c[1000], d[1000];
int main() {
  while (~scanf("%d%d%d", &n, &x, &y)) {
    for (i = 0; i < 1000; i++)
      for (j = 0; j < 1000; j++) {
        a[i][j] = 0;
        b[i][j] = 0;
      }
    for (i = 1; i <= n; i++) {
      scanf("%d%d", &c[i], &d[i]);
      a[500 + c[i]][500 + d[i]]++;
      a[500 + d[i]][500 + c[i]]++;
      b[501 + x - c[i]][501 + y - d[i]]++;
      b[501 + x - d[i]][501 + y - c[i]]++;
    }
    t = 0;
    for (int k = 1; k <= n; k++) {
      b[501 + x - c[k]][501 + y - d[k]]--;
      b[501 + x - d[k]][501 + y - c[k]]--;
      for (i = 1; i <= x; i++)
        for (j = 1; j <= y; j++) {
          if ((i > c[k] || j > d[k]) && b[500 + i][500 + j] &&
              c[k] * d[k] + (x + 1 - i) * (y + 1 - j) > t && c[k] <= x &&
              d[k] <= y) {
            t = c[k] * d[k] + (x + 1 - i) * (y + 1 - j);
          }
          if ((i > d[k] || j > c[k]) && b[500 + i][500 + j] &&
              c[k] * d[k] + (x + 1 - i) * (y + 1 - j) > t && c[k] <= y &&
              d[k] <= x) {
            t = c[k] * d[k] + (x + 1 - i) * (y + 1 - j);
          }
        }
      b[501 + x - c[k]][501 + y - d[k]]++;
      b[501 + x - d[k]][501 + y - c[k]]++;
    }
    printf("%d\n", t);
  }
}
