Your security guard friend recently got a new job at a new security company. The company requires him to patrol an area of the city encompassing exactly N city blocks, but they let him choose which blocks. That is, your friend must walk the perimeter of a region whose area is exactly N blocks. Your friend is quite lazy and would like your help to find the shortest possible route that meets the requirements. The city is laid out in a square grid pattern, and is large enough that for the sake of the problem it can be considered infinite.

Input

Input will consist of a single integer N (1 ≤ N ≤ 106), the number of city blocks that must be enclosed by the route.

Output

Print the minimum perimeter that can be achieved.

Examples

Input

4


Output

8


Input

11


Output

14


Input

22


Output

20

Note

Here are some possible shapes for the examples:

<image>
from sys import stdin
rr = lambda: stdin.readline().strip()
rri = lambda: int(rr())
rrm = lambda: map(int, rr().split())
def rry(N = None, f = rri):
    for i in xrange(N or rri()):
        yield f()

debug=0
if debug:
    fi = open('t.txt','r')
    rr = lambda: fi.readline().replace('\n','')

from collections import deque
def solve(N):
    x = int(N**.5)
    todo = N - x*x
    ans = 4*x
    at = x
    q = deque([x])
    while todo:
        y = q.popleft()
        ans += 2
        todo -= 1
        if not todo: break
        for _ in xrange(y-1):
            ans += 0
            todo -= 1
            if not todo: break
        if not q:
            at += 1
            q.append(at)
            q.append(at)
    return ans

N = rri()
print solve(N)
