12
-6712 6
2375 73
4643 197
-5660 215
-378 223
2228 307
3305 340
3449 468
-4389 707
-7161 729
-1838 921
-1655 985
730
 5
1 5
6 7
17127 17
17072 42
17042 77
3
 7
-976754 20479
79929143 911181
9598220 82517
-51609349 810257
67416551 266544
-14170975 307690
-15476178 491195
352
 22
-5301 602
-1400 194
-8512 987
-282 962
6484 494
9091 523
-7744 92
6002 461
5053 305
-1339 272
-821 165
9308 785
929 421
8384 883
1266 157
8411 923
-2949 885
7725 687
6859 197
-7630 867
5031 918
5662 410
41

11 12
 2 3
 5 5
 9 9

#include <bits/stdc++.h>
using namespace std;
struct Node {
  int X, T;
  long long P, Q;
};
bool operator<(Node A, Node B) {
  return (A.P == B.P) ? (A.Q < B.Q) : (A.P < B.P);
}
int Get() {
  char c;
  while (c = getchar(), (c < '0' || c > '9') && (c != '-'))
    ;
  bool Flag = (c == '-');
  if (Flag) c = getchar();
  int X = c - 48;
  while (c = getchar(), c >= '0' && c <= '9') X = X * 10 + c - 48;
  return Flag ? -X : X;
}
const long long inf = 1000000000000000LL;
int main() {
  int N = Get();
  static Node A[100000];
  for (int i = 0; i < N; i++) {
    A[i].X = Get();
    A[i].T = Get();
  }
  long long V = Get();
  for (int i = 0; i < N; i++) {
    A[i].P = V * A[i].T - A[i].X;
    A[i].Q = V * A[i].T + A[i].X;
  }
  sort(A, A + N);
  static long long Low[100001];
  for (int i = 1; i <= N; i++) Low[i] = inf;
  int Ans = 0;
  for (int i = 0; i < N; i++) {
    int Left = 1, Right = N;
    while (Left < Right) {
      int Mid = (Left + Right) / 2;
      if (A[i].Q >= Low[Mid])
        Left = Mid + 1;
      else
        Right = Mid;
    }
    if (Left == 1 && abs(A[i].X) > V * A[i].T) continue;
    Low[Left] = A[i].Q;
    Ans = max(Ans, Left);
  }
  printf("%d ", Ans);
  for (int i = 1; i <= N; i++) Low[i] = inf;
  Ans = 0;
  for (int i = 0; i < N; i++) {
    int Left = 1, Right = N;
    while (Left < Right) {
      int Mid = (Left + Right) / 2;
      if (A[i].Q >= Low[Mid])
        Left = Mid + 1;
      else
        Right = Mid;
    }
    Low[Left] = A[i].Q;
    Ans = max(Ans, Left);
  }
  printf("%d\n", Ans);
  return 0;
}
