#include <bits/stdc++.h>
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
using namespace std;
const int inf = 1e9;
const int MAXN = 100020;
int t[4 * MAXN];
int getm(int v, int l, int r, int ql, int qr) {
  if (ql >= r || l >= qr) {
    return -inf;
  }
  if (l >= ql && r <= qr) {
    return t[v];
  }
  return max(getm(2 * v + 1, l, (l + r) / 2, ql, qr),
             getm(2 * v + 2, (l + r) / 2, r, ql, qr));
}
void upd(int v, int l, int r, int ql, int qr, int x) {
  if (ql >= r || l >= qr) {
    return;
  }
  if (l >= ql && r <= qr) {
    t[v] = x;
    return;
  }
  upd(2 * v + 1, l, (l + r) / 2, ql, qr, x);
  upd(2 * v + 2, (l + r) / 2, r, ql, qr, x);
  t[v] = max(t[2 * v + 1], t[2 * v + 2]);
}
signed main() {
  ios_base::sync_with_stdio(0);
  cout.tie(0);
  cin.tie(0);
  srand(time(NULL));
  int n;
  cin >> n;
  vector<pair<long long, long long>> a(n);
  for (auto& i : a) cin >> i.first >> i.second;
  long long v;
  cin >> v;
  vector<pair<pair<long long, long long>, bool>> kek(n);
  kek.push_back({{0, 0}, 1});
  for (int i = 0; i < n; ++i) {
    kek[i].first.first = a[i].first - a[i].second * v;
    kek[i].first.second = -a[i].first - a[i].second * v;
  }
  sort((kek).begin(), (kek).end());
  vector<long long> keks;
  for (int i = 0; i <= n; ++i) keks.push_back(kek[i].first.second);
  sort((keks).begin(), (keks).end());
  keks.resize(unique((keks).begin(), (keks).end()) - keks.begin());
  for (int i = 0; i <= n; ++i) {
    kek[i].first.second =
        lower_bound((keks).begin(), (keks).end(), kek[i].first.second) -
        keks.begin();
  }
  long long ans1 = -inf, ans2 = -inf;
  for (int i = 0; i <= n; ++i) {
    long long kekos = getm(0, 0, keks.size(), 0, kek[i].first.second + 1) + 1;
    if (kek[i].second) {
      ans1 = max(ans1, kekos - 1);
    } else {
      upd(0, 0, keks.size(), kek[i].first.second, kek[i].first.second + 1,
          kekos);
      ans2 = max(ans2, kekos);
    }
  }
  cout << ans1 << ' ' << ans2;
}
