#include <bits/stdc++.h>
using namespace std;
const double pi = 3.141592653589;
long long int mod = 1000000007;
int main() {
  int t = 1;
  while (t--) {
    int n;
    long long int x, y;
    cin >> n >> x >> y;
    pair<long long int, long long int> p[n];
    for (int i = 0; i < n; i++) {
      cin >> p[i].first >> p[i].second;
    }
    sort(p, p + n);
    long long int ans = 0, h;
    multiset<long long int> ms;
    multiset<long long int>::iterator it;
    ans += x;
    ans += y * (p[0].second - p[0].first);
    ans = ans % mod;
    ms.insert(p[0].second + 1);
    for (int i = 1; i < n; i++) {
      if (p[i].first < *ms.begin()) {
        ans += x + y * (p[i].second - p[i].first);
        ans = ans % mod;
        ms.insert(p[i].second + 1);
      } else {
        it = ms.upper_bound(p[i].first);
        it--;
        h = *it;
        if ((p[i].first - h + 1) * y < x) {
          ans += (p[i].first - h + 1 + p[i].second - p[i].first) * y;
          ans = ans % mod;
          ms.erase(it);
        } else {
          ans += x + y * (p[i].second - p[i].first);
          ans = ans % mod;
        }
        ms.insert(p[i].second + 1);
      }
    }
    cout << ans;
  }
}
