#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
int main() {
  long long n, x, y;
  cin >> n >> x >> y;
  priority_queue<long long> empty_tv, zacatek, konec;
  long long cena = 0;
  for (int(a) = 0; (a) < (n); (a)++) {
    long long je, dv;
    cin >> je >> dv;
    cena = (cena + ((dv - je) * y)) % mod;
    zacatek.push(-1 * je);
    konec.push(-1 * dv);
  }
  while (konec.size() > 0) {
    long long ti1 = abs(konec.top());
    long long ti2;
    if (zacatek.size() == 0)
      ti2 = ti1 + 10;
    else
      ti2 = abs(zacatek.top());
    long long ti = min(ti1, ti2);
    if (ti1 < ti2) {
      empty_tv.push((ti));
      konec.pop();
    } else {
      zacatek.pop();
      if (empty_tv.size() > 0) {
        long long bst = ti - empty_tv.top();
        if (bst * y < x) {
          empty_tv.pop();
          cena = (cena + bst * y) % mod;
        } else {
          cena = (cena + x) % mod;
        }
      } else {
        cena = (cena + x) % mod;
      }
    }
  }
  cout << cena << endl;
  return 0;
}
