Трійка#10747

Трійка

1 second
256 megabytes
Very easy

Вам дано ціле число . Також є три види операцій:

  1. Зменшити на .

  2. Збільшити на .

  3. Якщо ділиться націло на , поділити на .

За яку мінімальну кількість операцій можна зробити число рівним ?

Input

Перший рядок містить одне ціле число (1 \le n \le 10^{18} ).

Output

Виведіть одне число — мінімальну кількість операцій, за яку можна зробити число рівним .

Examples

Example

Input
3
Output
1

Example

Input
5
Output
3

Example 1

Loading
Loading

Example 2

Loading
Loading

Note

У першому прикладі можна один раз поділити на і отримаємо .

У другому прикладі можна спочатку двічі зменшити на , а потім поділити на .