#include <bits/stdc++.h>
using namespace std;
int n, v, m;
long long x, t, c[101000];
pair<long long, long long> a[101000];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++)
    scanf("%I64d%I64d", &x, &t), a[i] = pair<long long, long long>(x, t);
  scanf("%d", &v);
  for (int i = 0; i < n; i++)
    a[i] = pair<long long, long long>(-a[i].first + a[i].second * v,
                                      a[i].first + a[i].second * v);
  a[n] = pair<long long, long long>(0, 0);
  sort(a, a + n + 1);
  for (int i = n; i >= 0; i--) {
    int j = upper_bound(c + 1, c + m + 1, -a[i].second) - c;
    if (a[i] == pair<long long, long long>(0, 0))
      printf("%d ", j - 1);
    else
      c[j] = -a[i].second, m = max(m, j);
  }
  printf("%d\n", m);
}
