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.io.*;
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.util.Scanner;
import java.lang.Math; 
public class secu 
{
	public static void main(String[] args) throws IOException
	{
		int n;
		Scanner sc=new Scanner(System.in);
		n=sc.nextInt();
		int k=1;
		int a=1;
		int ans=0;
		while(a==1)
		{
			int l=k*k;
			if(l>n)
			{
				int s=(k-1)*(k-1);
				int h=n-s;
				int d=l-n;
              int g=Math.min(h,d);
              //if(l!=n)
              
                if(g==d)
                {
               	ans=4*k;
               	//break;
               	a=0;
                }
                   else
                 {
                	ans=(4*(k-1))+2;
              	    a=0;
              	//break;
                 }
              //}
			}
			 else if(l==n)
			{
              ans=4*k;
              break;
			}
		//}
		k++;
		}
			//K++:
		
			//k++;
	
		System.out.println(ans);
	}
}
