#include <bits/stdc++.h>
using namespace std;
int ans[150][150];
char d[9][9];
int sz, su;
bool f = false;
bool valid() {
  for (int i = 1; i <= sz; i++)
    for (int j = 1; j <= sz; j++)
      if (d[i][j] == 1 &&
          d[i - 1][j] + d[i][j - 1] + d[i + 1][j] + d[i][j + 1] > 0)
        return false;
  for (int i = 1; i <= sz; i++)
    for (int j = 1; j <= sz; j++)
      if (d[i][j] != d[sz - i + 1][j] || d[i][j] != d[i][sz - j + 1] ||
          d[i][j] != d[sz - i + 1][sz - j + 1])
        return false;
  return true;
}
int sum() {
  int res = 0;
  for (int i = 1; i <= sz; i++)
    for (int j = 1; j <= sz; j++)
      if (d[i][j] == 1) res++;
  return res;
}
void calc(int x, int y) {
  if (x == sz + 1) x = 1, y++;
  if (y == sz + 1) {
    if (valid())
      if (sum() == su) {
        f = true;
      }
    return;
  }
  d[x][y] = 1;
  calc(x + 1, y);
  d[x][y] = 0;
  calc(x + 1, y);
}
void brut() {
  for (su = 2; su <= 14; su++) {
    for (sz = 1; sz <= 7; sz++) {
      f = false;
      calc(1, 1);
      if (f) {
        cout << su << ' ' << sz << endl;
        break;
      }
    }
  }
}
int main() {
  int x;
  cin >> x;
  if (x == 1) {
    cout << 1 << endl;
    return 0;
  }
  if (x == 3) {
    cout << 5 << endl;
    return 0;
  }
  for (int s = 1; s <= 100; s++) {
    memset(ans, 0, sizeof ans);
    int e = 0;
    int n = s * 2 + 1;
    ans[1][1] = 1;
    ans[n][n] = 1;
    ans[n][1] = 1;
    ans[1][n] = 1;
    for (int i = 1; i <= s; i++)
      for (int j = 1; j <= s; j++)
        if (ans[i][j - 1] + ans[i - 1][j] + ans[i + 1][j] + ans[i][j + 1] ==
            0) {
          ans[i][j] = 1;
          ans[n - i + 1][j] = 1;
          ans[n - i + 1][n - j + 1] = 1;
          ans[i][n - j + 1] = 1;
        }
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= n; j++)
        if (ans[i][j - 1] + ans[i - 1][j] + ans[i + 1][j] + ans[i][j + 1] ==
            0) {
          ans[i][j] = 1;
          ans[n - i + 1][j] = 1;
          ans[n - i + 1][n - j + 1] = 1;
          ans[i][n - j + 1] = 1;
        }
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= n; j++)
        if (ans[i][j] == 1) e++;
    if (e >= x) {
      cout << n << endl;
      return 0;
    }
    memset(ans, 0, sizeof ans);
    e = 0;
    ans[1][2] = 1;
    ans[n][n - 1] = 1;
    ans[n][2] = 1;
    ans[1][n - 1] = 1;
    for (int i = 1; i <= s; i++)
      for (int j = 3; j <= s; j++)
        if (ans[i][j - 1] + ans[i - 1][j] + ans[i + 1][j] + ans[i][j + 1] ==
            0) {
          ans[i][j] = 1;
          ans[n - i + 1][j] = 1;
          ans[n - i + 1][n - j + 1] = 1;
          ans[i][n - j + 1] = 1;
        }
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= n; j++)
        if (ans[i][j - 1] + ans[i - 1][j] + ans[i + 1][j] + ans[i][j + 1] ==
            0) {
          ans[i][j] = 1;
          ans[n - i + 1][j] = 1;
          ans[n - i + 1][n - j + 1] = 1;
          ans[i][n - j + 1] = 1;
        }
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= n; j++)
        if (ans[i][j] == 1) e++;
    if (e >= x) {
      cout << n << endl;
      return 0;
    }
  }
  cout << "WTF" << endl;
}
