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 lazy_security {
    private int a;
    private int b1,b2;

    public static void main(String[] args) {
    lazy_security security =new lazy_security();
        security.setA();
        System.out.println(security.check_up());
    }
    public void setA()
    {
        Scanner sc =new Scanner(System.in);
        a=sc.nextInt();

    }
    public int check_up()
    {
        b1=(int)Math.sqrt(a);
b2=b1;
a-=b1*b1;
b2+=a/b1;
a%=b1;

return a==0 ?((b1+b2)*2):((b1+b2)*2+2);

    }
}
