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

//God & me
//Damned if Amirjoon doesn't take what he wants.
#include <bits/stdc++.h>
#define pb push_back
#define X first
#define Y second
#define int long long
using namespace std;
template<class T,class L>bool smax(T&x,L y){return x<y?(x=y,1):0;}template<class T,class L>bool smin(T&x,L y){return y<x?(x=y,1):0;}
typedef pair<int,int> pii;

const int maxn=1e5+17,maxt=2e6+17;
int n,v,x[maxn],t[maxn];
pii a[maxn];
void DeemoLovesInit(){
    cin>>n;
    for(int i=0;i<n;i++)
	cin>>x[i]>>t[i];
    cin>>v;
    for(int i=0;i<n;i++)
	a[i] = {-x[i] + t[i] * v,x[i] + t[i] * v};
    sort(a,a+n);
}
int iman[maxn],sz;
int LIS(){
    memset(iman,63,sizeof iman);
    iman[0] = - INT_MAX;
    for(int i=0;i<n;i++){
	int l = upper_bound(iman,iman+sz+1,a[i].Y) - iman;
	smin(iman[l],a[i].Y);
	smax(sz,l);
    }
    return sz;
}
void under_a_f(){
    int sz=0;
    for(int i=0;i<n;i++)
	if(a[i].X >=0 && a[i].Y >= 0)
	    a[sz++] = a[i];
    n = sz;
}
main(){
    ios::sync_with_stdio(0),cin.tie(0);
    DeemoLovesInit();
    int ans2 = LIS();
    under_a_f();
    cout<<LIS()<<' '<<ans2<<'\n';
    return 0;
}
