Consider some square matrix A with side n consisting of zeros and ones. There are n rows numbered from 1 to n from top to bottom and n columns numbered from 1 to n from left to right in this matrix. We'll denote the element of the matrix which is located at the intersection of the i-row and the j-th column as Ai, j.

Let's call matrix A clear if no two cells containing ones have a common side.

Let's call matrix A symmetrical if it matches the matrices formed from it by a horizontal and/or a vertical reflection. Formally, for each pair (i, j) (1 ≤ i, j ≤ n) both of the following conditions must be met: Ai, j = An - i + 1, j and Ai, j = Ai, n - j + 1.

Let's define the sharpness of matrix A as the number of ones in it.

Given integer x, your task is to find the smallest positive integer n such that there exists a clear symmetrical matrix A with side n and sharpness x.

Input

The only line contains a single integer x (1 ≤ x ≤ 100) — the required sharpness of the matrix.

Output

Print a single number — the sought value of n.

Examples

Input

4


Output

3


Input

9


Output

5

Note

The figure below shows the matrices that correspond to the samples:

<image>

import java.util.*;
import java.io.*;

public class ClearSymmetry {

	// https://codeforces.com/contest/202/problem/C
	
	public static void main(String[] args) throws IOException, FileNotFoundException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		//BufferedReader in = new BufferedReader(new FileReader("ClearSymmetry"));

		int n = Integer.parseInt(in.readLine());
		if (n == 3) {
			System.out.println(5);
			return;
		}
		int max =n;
		int min = 1;
		while (min < max) {
			int middle = (max+min)/2;
			if (middle %2 ==0) {
				middle--;
			}
			if (works(n, middle)) {
				max=  middle;
			}
			else min = middle+2;
		}
		System.out.println(min);
	}
	
	public static boolean works(int n, int num) {
		if (num == 1) {
			if (n == 1) return true;
			else return false;
		}
		if (num == 3) {
			if (n <= 5) return true;
			else return false;
		}
		num /= 2;
		int count=0;
		boolean odd = false;
		for (int i=0; i<num; i++) {
			for (int j= odd ? 1 : 0; j<num; j+=2) {
				count++;
			}
			odd = !odd;
		}
		for (int i=0; i<num-1; i+=2) {
			count++;
		}
		//if (num %2 == 1) count--;
		if (count *4+1 >= n) return true;
		return false;
	}
}
