#include <bits/stdc++.h>
using namespace std;
int a[110], b[110], n, m;
int find(int x, int y) {
  int i, j, s;
  s = a[x] * b[x] + a[y] * b[y];
  i = a[x] + a[y];
  if (i <= n && b[x] <= m && b[y] <= m) return s;
  if (i <= m && b[x] <= n && b[y] <= n) return s;
  i = a[x] + b[y];
  if (i <= n && a[y] <= m && b[x] <= m) return s;
  if (i <= m && a[y] <= n && b[x] <= n) return s;
  j = b[x] + a[y];
  if (j <= n && a[x] <= m && b[y] <= m) return s;
  if (j <= m && a[x] <= n && b[y] <= n) return s;
  j = b[x] + b[y];
  if (j <= n && a[x] <= m && a[y] <= m) return s;
  if (j <= m && a[x] <= n && a[y] <= n) return s;
  return 0;
}
int main() {
  int k, i, j, s, sum;
  scanf("%d%d%d", &k, &n, &m);
  for (i = 0; i < k; i++) scanf("%d%d", &a[i], &b[i]);
  sum = 0;
  for (i = 0; i < k; i++)
    for (j = i + 1; j < k; j++) {
      s = find(i, j);
      sum = max(sum, s);
    }
  printf("%d\n", sum);
  return 0;
}
