You are given an integer number n. The following algorithm is applied to it:

  1. if n = 0, then end algorithm; 
  2. find the smallest prime divisor d of n; 
  3. subtract d from n and go to step 1. 



Determine the number of subtrations the algorithm will make.

Input

The only line contains a single integer n (2 ≤ n ≤ 10^{10}).

Output

Print a single integer — the number of subtractions the algorithm will make.

Examples

Input


5


Output


1


Input


4


Output


2

Note

In the first example 5 is the smallest prime divisor, thus it gets subtracted right away to make a 0.

In the second example 2 is the smallest prime divisor at both steps.
n = int(input())
import math
n1 = n
i = []
for x in range(100001):
    i.append(True)
i[0] , i[1] = False , False
for x in range(2 ,int( math.sqrt(100000))):
    if(i[x]):
        for xx in range(2*x , 100001 , x):
            i[xx] = False
o = []
for x in range(100001):
    if(i[x]):
        o.append(x)
#print(o[0] , o[1])
p = False
if(n%2==0):
    print(n//2)
else:
    for x in o:
        #print(n,x)
        if(n >= x and n%x==0):
            n-=x
            #print(n,x)
            p = True
            break
        elif(n< x):
            break
    if(not p and n1 > 100000 ):
        print(1)
    else:
        print(1 + n//2)
