एल्गोरिदम और डेटा संरचनाएँ

0 का पूरक

मान लीजिए हमारे पास 5 जैसी कोई संख्या है। जब हम इसे बाइनरी (binary) में बदलते हैं, तो हमें 101 मिलता है। अगर हम इसका पूरक (complement) लें, तो 10 (शुरुआती 0 को हटा दें) प्राप्त होता है, जो 2 के बराबर है। अगली बार पूरक लेने पर 1 (फिर से शुरुआती 0 हटाकर) मिलता है, जो 1 के बराबर है। और जब 1 का पूरक लेते हैं, तो हमें 0 मिलता है।

101 → 10 → 1 → 0.

इस तरह, 5 को 0 में बदलने के लिए हमें 3 पूरक ऑपरेशंस करने पड़े। यह काम हाथ से करना काफ़ी उबाऊ हो जाता है, इसलिए कंपनी चाहती है कि आप एक प्रोग्राम लिखें जो यह गिन सके कि किसी प्रारंभिक संख्या n को 0 में बदलने के लिए कुल कितने पूरक ऑपरेशंस की ज़रूरत होगी।

इनपुट

इनपुट में एकमात्र पूर्णांक n (1 ≤ n ≤ ) दिया जाता है।

आउटपुट

आउटपुट में एकमात्र पूर्णांक होना चाहिए — वह पूरक ऑपरेशंस की संख्या, जो n को 0 में बदलने के लिए करनी पड़ेगी।

उदाहरण

Input

Output

5

3

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB