#include <bits/stdc++.h>
const int mod = 1e9 + 7;
using namespace std;
int main() {
  long long int n, x, y, i, t99, t100;
  long long int ans = 0;
  cin >> n >> x >> y;
  pair<long long int, long long int> p[100009];
  for (i = 0; i < n; i++) {
    scanf("%lld%lld", &t99, &t100);
    p[i] = pair<long long int, long long int>(t99, t100);
  }
  sort(p, p + n);
  multiset<long long int> ak;
  multiset<long long int>::iterator it;
  for (i = 0; i < n; i++) {
    long long int l, r;
    l = p[i].first;
    r = p[i].second;
    it = ak.lower_bound(l);
    if (i == 0) {
      ans = ans + (long long int)(r - l) * y + x;
      ak.insert(r);
    } else {
      if (it == ak.begin()) {
        ans = ans + x + (long long int)(r - l) * y;
        ak.insert(r);
      } else {
        it--;
        long long int cost1, cost2;
        cost1 = x + (long long int)(r - l) * y;
        cost2 = (long long int)(r - *it) * y;
        if (cost1 < cost2) {
          ans = ans + cost1;
          ak.insert(r);
        } else {
          ans = ans + cost2;
          ak.insert(r);
          ak.erase(it);
        }
      }
    }
    ans = ans % mod;
  }
  cout << ans << endl;
  return 0;
}
