Submit solution

Points:
7 (partial)

Time limit:
0.6s

Memory limit:
64M

Author:

Problem type

Allowed languages

Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, ~~CommonLisp~~, D, Dart, F#, Forth, Fortran, Go, ~~Groovy~~, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, ~~Nim~~, ~~ObjC~~, OCaml, ~~Octave~~, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

pieces, whose dimensions don't matter.

is making origami and he needs your help! He has an arbitrarily large rectangular piece of paper that he needs to cut into pieces of paper, he can cut the starting piece in , then stack the pieces together and cut them to obtain pieces. The catch is, doesn't have very good scissors, so he can cut through **at most** sheets of paper at a time.

To save time, he would like for you to find out the **minimum** number of cuts required to obtain the pieces.

#### Constraints

##### Subtask 1 [60%]

##### Subtask 2 [40%]

#### Input Specification

The only line of input contains and , separated by a space.

#### Output Specification

One integer, the minimum number of cuts required to obtain the pieces.

#### Sample Input 1

`4 2`

#### Sample Output 1

`2`

#### Explanation for Sample Output 1

See problem description above.

#### Sample Input 2

`100000 1`

#### Sample Output 2

`99999`

#### Explanation for Sample Output 2

Since times for pieces of paper.

's scissors can only cut through one piece of paper at a time, he has to cut the paper#### Sample Input 3

`100 7`

#### Sample Output 3

`17`

## Comments

For the last two cases, output has to be long to prevent int overflow.

True origami does not use scissors. You are not a true origami.

Then what do you use to cut the wood to make the paper if origami is just folding

teach me how to be an origami