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.util.*;

public class B {
	public static void main(String[] args) throws IOException {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer tokenizer = new StringTokenizer(input.readLine());
		StringBuilder output = new StringBuilder();
		String newLine = System.lineSeparator();

		int n = (int)Long.parseLong(tokenizer.nextToken());
		int p[] = new int[1001001];

		for (int i = 1; i <= 1000; i++) {
			p[i * i] = 4 * i;
			p[i* (i+1)] = 2*i + 2*(i+1);
		}
		int i = n;
		for (; p[i] == 0 && i <= 1000000; i++) {
		}

		System.out.println(p[i]);
	}
}
