#include <bits/stdc++.h>
int b(void);
int c(void);
int main(void) {
  c();
  return 0;
}
int c(void) {
  int N;
  std::cin >> N;
  int up_b = static_cast<int>(std::sqrt(N));
  int max_i = 0;
  for (int i = up_b; i > 0; i--) {
    if (N % i == 0) {
      max_i = i;
      break;
    }
  }
  std::cout << max_i + (N / max_i) - 2;
  return 0;
}
int b(void) {
  int N;
  std::cin >> N;
  if (N > 81) {
    std::cout << "No";
    return 0;
  } else {
    for (int i = 1; i < 10; i++) {
      if (N % i == 0 && N / i < 10) {
        std::cout << "Yes";
        return 0;
      }
    }
  }
  std::cout << "No";
  return 0;
}
