Đường đi trên ma trận

View as PDF

Time limit: 1.0s , Memory limit: 256M , Points: 0 (partial)

Cho ma trận A gồm 10^{12} hàng và 10^{12} cột (các hàng và các cột được đánh số từ 1). Mỗi ô (i,j) (ô tại vị trí hàng i, cột j) của ma trận được gán giá trị i \times j.

Tại ô (i,j) bất kỳ có thể di chuyển sang một trong hai ô (i+1,j) hoặc (i,j+1) (nếu có tồn tại). Tìm số lần di chuyển ít nhất để xuất phát từ ô (1,1), có thể đến được ô gán giá trị K.

Input

  • Dòng duy nhất chứa số nguyên K (1 \le K \le 10^{12}).

Output

  • In ra số lần di chuyển ít nhất để xuất phát từ ô (1,1), có thể đến được ô gán giá trị K.

Examples

Sample Input 1
6
Sample Output 1
3
Sample Input 2
11
Sample Output 2
10

Scoring

  • Subtask 1 với 30\% số điểm: K \le 100
  • Subtask 2 với 30\% số điểm: K \le 10^6
  • Subtask 3 với 40\% số điểm: Không có ràng buộc gì thêm

Notes

Trong ví dụ đầu tiên, đường đi với số lần di chuyển ít nhất có thể như sau:

(1,1)(1,2)(2,2)(2,3)


Comments