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>
import math
from random import random

def getInt():
    return(int(input()))

def getInts():
    line = input().split()
    return [int(l) for l in line]

def getFloat():
    return(float(input()))

def getFloats():
    line = input().split()
    return [float(l) for l in line]

def getStrings():
    line = input().split()
    return(line)


A = getInt()
n = math.floor(math.sqrt(A))

if(n*n == A):
    print(4*n)
elif(n*(n + 1) >= A):
    print(4*n + 2)
else:
    print(4*n + 4)