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 java.util.Scanner;

public class s_859B {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt(); //  10^6>= n >=1 //
        int p=0;
        if(n==1) p=4;
        else
        {
            int r = findNearestSquare(n);
            p = 4*((int)Math.sqrt(r));
            int diff = n-r; // remaining blocks outside of square
            if(diff!=0) {
                if (diff <= (int) Math.sqrt(r)) p += 2;
                else p += 4;
            }
        }
        System.out.println(p);
    }

    private static int findNearestSquare(int n) {
        if(isSquare(n)) return n;
        for (int i = n-1; i > 0 ; i--) {
            if(isSquare(i)) return i;
        }
        return 1;
    }

    private static boolean isSquare(int num) {
        double sqrt = Math.sqrt(num);
        int sqrtInteger = (int)Math.sqrt(num);
        return (double)sqrtInteger==sqrt;
    }
}
