#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 7;
const long long MOD = 1000 * 1000 * 1000 + 7;
long long mod(long long n) { return (n % MOD + MOD) % MOD; }
long long n, x, y;
pair<long long, long long> a[MAXN];
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> x >> y;
  for (long long i = 0; i < n; ++i) {
    cin >> a[i].first >> a[i].second;
  }
  sort(a, a + n);
  long long ans = 0;
  multiset<long long> ms;
  for (long long i = 0; i < n; ++i) {
    long long cost = x + y * (a[i].second - a[i].first);
    if (ms.empty()) {
      ans += cost;
    } else {
      auto t = ms.lower_bound(a[i].first);
      if (t != ms.begin()) {
        --t;
        long long ncost = y * (a[i].second - *t);
        if (ncost < cost) {
          ans += ncost;
          ms.erase(t);
        } else {
          ans += cost;
        }
      } else {
        ans += cost;
      }
    }
    ms.insert(a[i].second);
    ans = mod(ans);
  }
  cout << ans << '\n';
  return 0;
}
