Problem:
A : 指折り数えて / Finger Counting

問題文

肉西くんは指の数を増やしたり減らしたりできる．

肉西くんの前には n 個のまんじゅうがある．

肉西くんは指を折ってまんじゅうの個数を数えようとしている．

肉西くんの指が取れる形は折れているか折れていないかの 2 つしか無い．

肉西くんは 2 進数を理解している．

肉西くんは各指に 2 進数の桁を対応させて数を数えることが出来る．

肉西くんは対数を理解していない．

肉西くんのかわりにまんじゅうを数え上げるのに必要な指の本数の最小値を求めよ．

入力

n

制約

整数である

0 ≤ n ≤ 1018

出力

答えを 1 行に出力し，最後に改行を出力せよ．

サンプル

サンプル入力1

0

サンプル出力1

0

サンプル入力2

4

サンプル出力2

3

サンプル入力3

31

サンプル出力3

5

サンプル入力4

36028797018963968

サンプル出力4

56

Solution in Kotlin (judge verdict: Accepted)

fun main(args:Array<String>?): Unit {
    println(readLine()!!.trim().toLong().let{if (it == 0L) 0 else it.toString(2).length})
}