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

def lis(inp, max_speed, w=False):
    f = [None]
    
    for i in range(len(inp)-1, -1, -1):
        left, right = 1, len(f)-1
        k = 0
        
        while left <= right:
            mid = int((left + right)/2)
            
            if f[mid] >= inp[i][1]:
                k = mid
                left = mid+1
            else:
                right = mid-1
        
        if i == 0 and w:
            return k
        
        if k+1 < len(f):
            f[k+1] = max(f[k+1], inp[i][1])
        else:
            f.append(inp[i][1])
    
    return len(f)-1

    
def tourist(coords, times, max_speed):
    p = [times[i]*max_speed-coords[i] for i in range(len(coords))]
    q = [times[i]*max_speed+coords[i] for i in range(len(coords))]
    
    inp = list(zip(p, q))
    inp = sorted(inp, key=lambda k:(k[0], k[1]))
    
    a = lis(inp, max_speed, w=False)
    b = lis([[0, 0]] + inp, max_speed, w=True)
    
    return b, a

n = int(input())
coords, times = [], []

for i in range(n):
    a, b = input().split(' ')
    a = int(a)
    b = int(b)
    coords.append(a)
    times.append(b)
    
max_speed = int(input())
x, y = tourist(coords, times, max_speed)

print(str(x) + ' ' + str(y))
