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.*;
public class abcd
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
         int n= sc.nextInt();
         int val = (int)Math.sqrt(n);
         if(val*1.0==Math.sqrt(n))
         {
             System.out.println(4*val);
             System.exit(0);
         }
         int arr[][]=new int[100000][2];
         int counter = 0;
          for(int i = 1;i<=val+9000;i++)
          {
             for(int j=i+1;j<val+9000;j++)
             {
                 if(i*(j-1)>=n)
                 break;
                if(i*j>=n)
                 {
                     arr[counter][0]=i*j;
                     arr[counter++][1]=i+j;
                     
                }
                 
            }
        }
        int brr[][]=new int[counter][2];
        for(int i = 0 ;i<counter;i++)
        {
            brr[i][0]=arr[i][0];
            brr[i][1]=arr[i][1];
        }
        for(int i = 0 ;i<counter;i++)
        {
            for(int j = 0 ;j<counter-i-1;j++)
            {
                if(brr[j][1]>brr[j+1][1])
                
                {
                    int temp =brr[j][0];
                    brr[j][0]=brr[j+1][0];
                    brr[j+1][0]=temp;
                    
                    temp =brr[j][1];
                    brr[j][1]=brr[j+1][1];
                    brr[j+1][1]=temp;
                }
            }
        }
        System.out.println(2*brr[0][1]);
    }
}
            