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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
   public static void main(String[] args) throws IOException {
      BufferedReader var = new BufferedReader(new InputStreamReader(System.in));
      int n = Integer.parseInt(var.readLine());
      int x = 0;
      int temp = (int) Math.sqrt(n);
      if (Math.pow(temp, 2) == n) {
         System.out.println((int) Math.sqrt(n) * 4);
      } 
      else if( n == 2){
         System.out.println(6);
      }
      else {
         int cnt = 1;
         while (true) {
            if (Math.pow(cnt, 2) <= n)
               cnt++;
            else {
               x = cnt;
               break;
            }
         }
         if (Math.pow(x, 2) - n > Math.sqrt(n)) {
            int s = 0;
            s = x + (int) Math.sqrt(n) + (x - 2) + ((((int) (Math.pow(x, 2) - x) - n) + 1)) + (x - ((((int) (Math.pow(x, 2) - x) - n) + 1)) + 1);
            System.out.println(s);
         } else {
            System.out.println((x * 2) + (int) Math.sqrt(n) + ((int) (Math.pow(x, 2) - n) + 1) + (x - ((int) Math.pow(x, 2) - n)));
         }
      }
   }
}