#include <iostream>
using namespace std;
int timeToEnterMazeOptimized(int N) {
if (N <= 0) return 0;
if (N == 1 || N == 3) return 1;
int time = 0;
while (N > 0) {
time++;
if (N == 1 || N == 3) return time;
if (N % 2 == 0) {
N = N / 2;
} else {
N = (N + 1) / 2;
}
}
return time;
}
int main() {
int N;
cin >> N;
cout << timeToEnterMazeOptimized(N) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHRpbWVUb0VudGVyTWF6ZU9wdGltaXplZChpbnQgTikgewogICAgaWYgKE4gPD0gMCkgcmV0dXJuIDA7CiAgICBpZiAoTiA9PSAxIHx8IE4gPT0gMykgcmV0dXJuIDE7CiAgICAKICAgIGludCB0aW1lID0gMDsKICAgIHdoaWxlIChOID4gMCkgewogICAgICAgIHRpbWUrKzsKICAgICAgICBpZiAoTiA9PSAxIHx8IE4gPT0gMykgcmV0dXJuIHRpbWU7CiAgICAgICAgCiAgICAgICAgaWYgKE4gJSAyID09IDApIHsKICAgICAgICAgICAgTiA9IE4gLyAyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIE4gPSAoTiArIDEpIC8gMjsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdGltZTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgTjsKICAgIGNpbiA+PiBOOwogICAgY291dCA8PCB0aW1lVG9FbnRlck1hemVPcHRpbWl6ZWQoTikgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==