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.Arrays;
import java.util.Scanner;

public class LazySG {
	private static Scanner scanner = new Scanner(System.in);

	public static int Area(int input) {
		int tempInput = input;
		int area = 4;
		int determine = 2;
		while(determine < tempInput) {
			area += 4;
			tempInput -= determine;
			determine += 2;
			
		}

		// System.out.println("area : " + area);
		// System.out.println("tempInput : " + tempInput);
		// System.out.println("determine : " + determine);

		if((determine / 2 == 0) || (determine / 2 < tempInput)) {
			return area + 2;
		} else {
			return area;
		}
	}

	public static int[] getArray(int n) {
		int[] intArray = new int[n];
		for(int i = 0; i < n; i++) {
			intArray[i] = scanner.nextInt();
		}
		return intArray;
	}

	public static void main(String[] args) {
		int input = scanner.nextInt();

		System.out.println(Area(input));
	}
}

